机器视觉(四):空域图像增强(常见的空域图像增强处理方法有哪些)
itomcoil 2025-07-08 19:24 4 浏览
一、图像处理技术概述
1.定义
对原始获取图像进行一系列的运算处理,称为图像处理。图像处理是机器视觉技术的方法基础,包括图像增强、边缘提取、图像分割、形态学处理、图像投影、配准定位和图像特征提取等方法。
2.颜色的基本定义
GB 5698-85,颜色定义为:色是“光作用于人眼引起除形象以外的视觉特性”。
3.三原色(tricolor)
二、图像增强概述
1.改善图像质量两类方法
o不考虑图像降质原因——图像增强技术
o针对图像降质原因——图像还原技术
2.图像增强技术两类方法:
(1)空间域法: 在空间域中对图像的各个像素灰度值直接进行计算处理;
(2)频率域法: 在图像的频率变化域中对图像的变换值进行某种运算处理,然后再变回空间域中。
三、空域图像增强
1.定义
空域法是直接对图像中的像素进行处理,以图像的灰度映射变换为基础。
点对点变换 直方图修正
2.空域变换增强
直接灰度变换:
图像求反:
用这种方式倒转图像的强度产生图像反转的对等图像。该方式适用于增强嵌入于图像暗色区域的白色或灰色细节,特别是当黑色面积占主导地位时。
线性灰度增强:
线性最大增强:
3.空域变换增强的MATLAB实现
rgb=imread(‘ic.png’);%读取图像
gray=rgb2gray(rgb); % 色彩转换成灰度
gray2=a* gray+b; % 灰度线性变换
gray3=255-gray;求反操作
subplot(141),imshow(rgb),title(‘原图’);%显示原图像
subplot(142),imshow(gray),title(‘灰度图’);%显示灰度图像
subplot(143),imshow(gray2),title(‘灰度图2’);%显示变换灰度图subplot(144),imshow(gray3),title(‘灰度图3’);%显示求反灰度图
- 函数说明:图像增强函数
- 调用格式: ImageEnhance ( image_origin , image_edge , kind)
- 参数说明:image_origin:输入图像(灰度图)image_edge:输出图像kind:算法类型(包括POINTLINER,POINTSHARP)
- 4.图像代数运算
包括加、减、乘、除运算。
5.椒盐噪声(salt-and-pepper noise)
椒盐噪声又称脉冲噪声,它随机改变一些像素值,在二值图像上表现为使一些像素点变白,一些像素点变黑。是由图像传感器,传输信道,解码处理等产生的黑白相间的亮暗点噪声。
椒盐噪声往往由图像切割引起,去除脉冲干扰及椒盐噪声最常用的算法是中值滤波。
6.空域滤波增强
主要有两类:
(1)平滑(低通)滤波器
(2)锐化(高通)滤波器
7.平滑滤波器
(1)均值滤波
(2)带有阈值的均值滤波
(3)中值滤波
中值滤波的基本原理是将像素邻域内灰度的中值代替该像素的值。
中值滤波的步骤:
1.将模板在图中漫游,并将模板中心与图中某个像素位置重合;
2.读取模板下各对应像素的灰度值;
3.将这些灰度值从小到大排成1列;
4.找出这些值里排在中间的1个;
5.将这个中间值赋给对应模板中心位置的像素。
中值滤波特点:
1.非线性滤波。
2.可克服图像的边缘模糊。
3.对滤除脉冲干扰及图像扫描噪声最为有效。
4.不需要图像的统计特性。
5.对一些细节多,特别是点、线、尖顶细节多的图像不宜采用。
(4) 高斯滤波
高斯滤波器是一类根据高斯函数的形状来选择权值的线性平滑滤波器,其对于抑制服从正态分布的噪声非常有效。
二维零均值高斯函数
gausFilter = fspecial('gaussian',[m,n],sigma)
blur=imfilter(grayImg,gausFilter,'replicate')
版权声明:本文为CSDN博主「liutangplease」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:
https://blog.csdn.net/m0_53966219/article/details/127803603
声明:部分内容来源于网络,仅供读者学习、交流之目的。文章版权归原作者所有。如有不妥,请联系删除。
相关推荐
- 信创系统下的Anaconda离线配置全攻略
-
原文链接:「链接」Hello,大家好啊,今天给大家带来一篇信创操作系统上离线配置Anaconda的文章,欢迎大家分享点赞,点个在看和关注吧!在信创环境下使用Anaconda对Python进行包...
- 【Python】Mac中Anaconda安装与使用(2025)
-
一、anaconda介绍我是一个多年的Java工程师,之前也写过一些简单的Python程序,随着AI的发展,后续使用Python会越来越多,和Java一样,Python涉及环境配置...
- 在豆包的协助下,折腾了一天,电脑盲终于把Doccano安装好了
-
折腾了一天,终于把Doccano软件装好了。先是用Deepseek,提示词:给新手小白出一个在新电脑上安装doccano的教程新手小白安装Doccano终极教程无需编程基础,两种方法任选,全程避坑...
- 用Python开发日常小软件,让生活与工作更高效!附实例代码
-
引言:Python如何让生活更轻松?在数字化时代,编程早已不是程序员的专属技能。Python凭借其简洁易学的特点,成为普通人提升效率、解决日常问题的得力工具。无论是自动化重复任务、处理数据,还是开发个...
- 用python怎么做最简单的桌面计算器
-
有网友问,用python怎么做一个最简单的桌面计算器。如果只强调简单,在本机运行,不考虑安全性和容错等的话,你能想到的最简单的方案是什么呢?我觉得用tkinter加eval就够简单的。现在开整。首先创...
- 用python操作excel、word、pdf非常迅速方便,迅速教会你
-
你会用python操作excel、word、pdf吗?不会也没关系,这篇文章教会你~【文末领取】案例篇幅有限,给大家准备了电子版PDF获取方式:...
- 10 个每个初学者都应该知道的 Python 技巧
-
1.无需临时变量交换两个变量的值之前:a=5b=10temp=aa=bb=temp之后:a,b=5,10a,b=b,aprint(a,b)#输出:1051...
- SQL用了两年多,分享2个最常用的小技巧
-
导读:SQL是所有数据从业者必须打牢的基本功之一,扎实的SQL查询和适当的调优技巧是检验SQL能力的两大重要准则。个人曾经专门花费过好多时间用于提升SQL能力,期间也刷了大量的SQL题目,在这期间也...
- Python 高手的 15 个代码技巧,让你的编程效率翻倍
-
在Python编程的世界里,我们总能遇到一些代码写得更短、更快、更整洁的开发者。他们似乎掌握了一些不为人知的秘密。本文将揭示15个实用的Python技巧,这些技巧在初学者教程中鲜有提及,却...
- 30天学会Python编程:16. Python常用标准库使用教程
-
16.1collections模块16.1.1高级数据结构16.1.2示例fromcollectionsimportdefaultdict,Counter,deque#默认字典...
- 7 个小 Python 技巧(python技巧总结60)
-
1.使用_作为临时变量这一点很微小,但非常强大。有时候你需要一个循环或一个你实际上不会使用的值。比如:for_inrange(3):print("Hello")过去...
- 如何系统的学python?(如何系统的学剪辑)
-
我不喜欢一上来就推荐一堆参考资料的东西,那只会让初学者更迷茫。好比一个婴儿,你告诉他学会走路的方法有100种,他只会变的对走路毫无兴趣,他要的只是一种最有效的学会走路的办法,而不是100种。同样的,下...
- Python 静态方法、类方法与多态方法:特性解析与实战应用
-
在Python面向对象编程的重要概念,它们各自具备独特的特性和应用场景,为开发者提供了多样化的编程方式。静态方法不依赖实例状态,类方法以类为操作主体,多态方法则实现了不同类对象对同一消息的差异化响...
- 用 Python 库 PySimpleGUI 制作自动化办公小软件
-
Python在运维和办公自动化中扮演着重要的角色,PySimpleGUI是一款很棒的自动化辅助模块,让你更轻松的实现日常任务的自动化。1PySimpleGUI安装在命令行/终端输入:pipin...
- 一日多技:8个有趣的Python实用技巧
-
在这一小节中,我们将看到8个实用的python技巧,这些技巧使用比较高频且有用。列表的反向查找:我们可以使用reverse()函数让列表中的元素反向,它处理列表中存在的数字和字符串数据类型。下面我们直...
- 一周热门
- 最近发表
- 标签列表
-
- ps图案在哪里 (33)
- super().__init__ (33)
- python 获取日期 (34)
- 0xa (36)
- super().__init__()详解 (33)
- python安装包在哪里找 (33)
- linux查看python版本信息 (35)
- python怎么改成中文 (35)
- php文件怎么在浏览器运行 (33)
- eval在python中的意思 (33)
- python安装opencv库 (35)
- python div (34)
- sticky css (33)
- python中random.randint()函数 (34)
- python去掉字符串中的指定字符 (33)
- python入门经典100题 (34)
- anaconda安装路径 (34)
- yield和return的区别 (33)
- 1到10的阶乘之和是多少 (35)
- python安装sklearn库 (33)
- dom和bom区别 (33)
- js 替换指定位置的字符 (33)
- python判断元素是否存在 (33)
- sorted key (33)
- shutil.copy() (33)