Matlab图像处理运算方法-点运算

news2024/11/15 23:29:29

点运算

点运算又称为对比度增强对比度拉伸灰度变换,是一种通过图像中的每一个像素值(即像素点上的灰度值)进行运算的图像处理方式。它将输入图像映射为输出图像,输出图像每个像素点的灰度值仅由对应的输入像素点的灰度值决定,运算结果不会改变图像内像素点之间的空间关系。

点运算可以扩展所需部分的灰度信息的对比度,使之占据显示灰度级范围的更大一部分。点运算以预定的方式改变一幅图像的灰度直方图。除了灰度级的改变是根据某种特定的灰度变换函数进行之外,点运算可看作是“从像素到像素的复制操作。点运算产生的输出图像,其图像中每个像素点的灰度值仅由相应输入点的灰度值确定。

线性点运算

点运算从数学上可以分为线性点运算和非线性点运算两类。

线性点运算是指输入图像的灰度级与输出图像的灰度级呈线性关系。

其函数形式为:

t=as+b                                  (4.1)

其中,s为输入图像各像素点的灰度值,t为相应输出图像各像素点的灰度值。

1)如果a=1b=0,则t=s,即输入图像与输出图像相同。如果a=1b≠0,则输出图像的灰度值上移或下移,整个图像在显示会更亮或更暗。

2)如果a>1,则输出图像对比度增大,输出图像显示效果较输入图像会更亮。

3)如果a<1,则输出图像对比度降低,输出图像显示效果较输入图像会更暗。

4)如果a<0,即a为负值,则原输入图像的暗区域将变亮,亮区域将变暗。

程序示例

%线性点运算MATLAB示例程序如下:

I = imread('rice.png');           %读取输入图像
I = im2double(I);               %函数im2double将输入换成double
类型。
%如果输入图像是unit8,unit16或者是二值的logical类型,则
函数im2double将其值归一化到0~1之间。
a = 2.5;b=-70;
J = a.*I+b/255;                            %增加对比度
c = 0.7;d=-30;                                                                
K = c.*I+d/255;                           %减小对比度
e = 1;f = 70;                                                                   
L = e.*I+f/255;                            %线性增加亮度
g = -1;h = 255;                                                                 
P = g.*I+h/255;                            %图像反色
subplot(2,3,1),imshow(I);title('原图像');
subplot(2,3,2),imshow(J);title('增加对比度');
subplot(2,3,3),imshow(K),title('减小对比度');
subplot(2,3,4),imshow(L),title('线性平移增加亮度');
subplot(2,3,5),imshow(P),title('图像反色');

图像效果

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/930963.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

(四)CUDA应用程序编程接口详解

C语言扩展 CUDA的编程接口是C语言的扩展集&#xff0c;其中主要的是Runtime库&#xff0c;该库分为三个组件&#xff1a;主机组件、设备组件以及公共组件 主机组件&#xff1a;在主机上运行并提供函数来控制和访问一个或多个计算设备 设备组件&#xff1a;设备运行并且提供特…

树莓派4B上安装Gitlab

参考连接&#xff1a; 树莓派上使用 GitLab 搭建专业 Git 服务 | 树莓派实验室 gitlab reconfigure 卡住 ruby_block[wait for redis service socket] action run_芹菜学长的博客-CSDN博客 以及用到了讯飞星火 系统版本信息 1.进入 giblab安装页面gitlab/gitlab-ce - Instal…

Python——提高数据处理效率的迫切需要

提高数据处理效率的迫切需要 本章包括 处理指数级增长的数据所面临的挑战 传统计算架构与最新计算架构的比较 Python在现代数据分析中的作用和不足 提供高效Python计算解决方案的技术 我们一直在以极快的速度从各种来源收集海量数据。无论目前是否有使用价值&#xff0c;…

YOLOv5算法改进(7)— 添加SimAM注意力机制

前言&#xff1a;Hello大家好&#xff0c;我是小哥谈。SimAM&#xff08;Similarity-based Attention Mechanism&#xff09;是一种基于相似度的注意力机制&#xff0c;它的原理是通过计算查询向量与每个键向量之间的相似度&#xff0c;从而确定每个键向量对于查询向量的重要性…

搭建开发环境-Mac

概述 上一篇搭建开发环境-WSLUbuntu 记录了WSL 和Ubuntu 下开发环境的搭建。这一篇就说下Mac开发环境的搭建。 就像很多人误以为Mini 是专为女孩子设计的高颜值车&#xff0c;其实是一辆极其hardcore 的拉力车一样。 很多人都被Mac 那高颜值蒙蔽了&#xff0c;其实这是一台生产…

为DOSBOX增加外部串口功能

如果DOSBOX内部串口与宿主机串口通互通&#xff0c;那DOSBOX中各种语言开发的程序均与外界有了串行通信功能&#xff0c;MODBUS with DOSBOX也就实现了。下面的操作&#xff0c;为DOSBOX打开通往外部的串行通信接口。 1. 在宿主机上创建虚拟串口对。方法是安装 Free 的 com0co…

【NLP的python库(01/4) 】: NLTK

一、说明 NLTK是一个复杂的库。自 2009 年以来不断发展&#xff0c;它支持所有经典的 NLP 任务&#xff0c;从标记化、词干提取、词性标记&#xff0c;包括语义索引和依赖关系解析。它还具有一组丰富的附加功能&#xff0c;例如内置语料库&#xff0c;NLP任务的不同模型以及与S…

【LeetCode75】第三十七题 二叉树中的最长交错路径

目录 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 代码&#xff1a; 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 给我们一棵二叉树&#xff0c;问我们在这棵树里能找到的最长交错路径。最长交错路径就是在二叉树里一左一右一左一右这样走&#xff0c;最…

Golang Gorm 高级查询之where + find

插入测试数据 package mainimport ("fmt""gorm.io/driver/mysql""gorm.io/gorm" )type Student struct {ID int64Name string gorm:"size:6"Age intEmail *string }func (*Student) TableName() string {return "student&q…

自动化测试概况和认知

前言 书中说测试架构师掌握自动化测试的目的不是设计自动化架构或是具体来部署自动化&#xff0c;而是用好自动化。其实这一点我觉得对涉及自动化测试的人员都是通用的&#xff0c;只是偏重点不同。 往往自动化测试前期投入成本可能会大一点&#xff0c;比如框架设计、技术选…

神经网络的工作原理

目录 神经网络的介绍 神经网络的组成 神经网络的工作原理 Numpy 实现神经元 Numpy 实现前向传播 Numpy 实现一个可学习的神经网络 神经网络的介绍 神经网络受人类大脑启发的算法。简单来说&#xff0c;当你睁开眼睛时&#xff0c;你看到的物体叫做数据&#xff0c;再由你…

【论文笔记】Planning and Decision-Making for Autonomous Vehicles

文章目录 Summary1. INTRODUCTION2. MOTION PLANNING AND CONTROL2.1. Vehicle Dynamics and Control2.2. Parallel Autonomy2.3. Motion Planning for Autonomous Vehicles 3. INTEGRATED PERCEPTION AND PLANNING3.1. From Classical Perception to Current Challenges in Ne…

一篇读懂辐射检测仪应用解决方案技术(附方案选型及原理分析)

关于常见的辐射检测仪应用方案&#xff1a; 辐射检测仪是用于测量环境中辐射水平的设备&#xff0c;常用于核电站、医疗机构、实验室和核辐射工作场所等地方。以下是一种可能的辐射检测仪应用方案&#xff1a; 实时监测&#xff1a;辐射检测仪可以实时监测环境中的辐射水平&am…

NIST测试包的可能问题

其实,大多数出现的问题,可能或多或少都可能跟数据集的大小相关。 如: Random Excursions Variant,在测试结果中,可能显示为横线,打开原始报告,可以看到: WARNING: TEST NOT APPLICABLE. THERE ARE AN INSUFFICIENT NUMBER INSUFFICIENT NUMBER OF C…

【C++ 学习 ⑰】- 继承(下)

目录 一、派生类的默认成员函数 二、继承与友元 三、继承与静态成员 四、复杂的菱形继承及菱形虚拟继承 五、继承和组合 一、派生类的默认成员函数 派生类的构造函数必须调用基类的构造函数初始化基类的那一部分成员。如果基类没有默认构造函数&#xff0c;那么必须在派生…

spring框架:简介+依赖注入

目录 一、spring简介 二、创建项目 三、spring创建对象 四、SpringBean管理 1.注入实现-XML 2.注入实现-注解 一、spring简介 spring诞生与2003年&#xff0c;是一个轻量级的、IOC( Inversion Of Control 控制反转)和AOP(Aspect Oriented Programming 面向切面编程)的jav…

linux挂载内网镜像源文件,支持yum安装

cd /etc/yum.repos.d/vim kylin_aarch64.repo 重建yum缓存 yum clean allyum makecacheyum repolist

【vue】实现高性能虚拟滚动的Vue代码解析

在前端开发中&#xff0c;当需要展示大量数据时&#xff0c;如何保持页面的流畅性是一个挑战。传统的滚动方式会将所有数据一次性渲染到页面&#xff0c;这可能导致页面加载缓慢甚至崩溃。而虚拟滚动技术能够解决这个问题&#xff0c;它只渲染可视区域内的数据&#xff0c;从而…

Vue2向Vue3过度Vuex核心概念actions

目录 1 核心概念 - actions1.定义actions2.组件中通过dispatch调用 2 辅助函数 -mapActions 1 核心概念 - actions state是存放数据的&#xff0c;mutations是同步更新数据 (便于监测数据的变化, 更新视图等, 方便于调试工具查看变化)&#xff0c; actions则负责进行异步操作 说…

用Python写一个武侠游戏

前言 在本教程中&#xff0c;我们将使用Python写一个武侠类的游戏&#xff0c;大的框架全部搭好了&#xff0c;很多元素都可以自己添加&#xff0c;让游戏更丰富 &#x1f4dd;个人主页→数据挖掘博主ZTLJQ的主页 个人推荐python学习系列&#xff1a; ☄️爬虫JS逆向系列专栏 -…