【python图像处理】图像阈值化处理及算法对比、图像腐蚀与图像膨胀

【数字图像处理5.1】阈值处理对生成二值图像的影响 python 文章目录实验目的1、全局阈值法实现思路代码效果图2、自适应阈值法思路代码效果图3、大律法思路代码效果图4、项目代码 实验目的 比较三种不同阈值处理方法对生成二值图像的影响: 全局阈值法 自适应阈值法 大律法等 注意 OpenCV使用threshold函数实现阈值化处理。 1、全局阈值法 实现思路 代码 ####################################################### ###################全局阈值法################### 阅读详情

1、二进制阈值化

该方法先要选定一个特定的阈值量,比如127。
(1) 大于等于127的像素点的灰度值设定为最大值(如8位灰度值最大为255)
(2) 灰度值小于127的像素点的灰度值设定为0
例如,163->255,86->0,102->0,201->255。

关键字为 cv2.THRESH_BINARY

img=cv2.imread("C:/picture/dog.jpg")
GrayImage=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
r,b=cv2.threshold(GrayImage,127,255,cv2.THRESH_BINARY)
print(r)
cv2.imshow("img",img)
cv2.imshow("result",b)

在这里插入图片描述
输出为两个返回值,r为127,b为处理结果(大于127设置为255,小于设置为0)。
在这里插入图片描述

2、反二进制阈值化

该方法与二进制阈值化方法相似,先要选定一个特定的灰度值作为阈值,比如127。
(1) 大于127的像素点的灰度值设定为0(以8位灰度图为例)
(2) 小于该阈值的灰度值设定为255
例如,163->0,86->255,102->255,201->0。

关键字为 cv2.THRESH_BINARY_INV
该方法得到的结果正好与二进制阈值化方法相反,亮色元素反而处理为黑色,暗色处理为白色。

result=cv2.threshold(GrayImage,127,255,cv2.THRESH_BINARY_INV)

在这里插入图片描述

3、截断阈值化

该方法需要选定一个阈值,图像中大于该阈值的像素点被设定为该阈值,小于该阈值的保持不变,比如127。
(1) 大于等于127的像素点的灰度值设定为该阈值127
(2) 小于该阈值的灰度值不改变
例如,163->127,86->86,102->102,201->127。

关键字为 cv2.THRESH_TRUNC

r, b = cv2.threshold(GrayImage, 127, 255, cv2.THRESH_TRUNC)

在这里插入图片描述
该处理方法相当于把图像中比较亮(大于127,偏向于白色)的像素值处理为阈值。

4、阈值化为0

该方法先选定一个阈值,比如127。
(1) 大于等于阈值127的像素点,值保持不变
(2) 小于该阈值的像素点值设置为0
例如,163->163,86->0,102->0,201->201。

关键字为 cv2.THRESH_TOZERO
该算法把比较亮的部分不变,比较暗的部分处理为0。

r, b = cv2.threshold(GrayImage, 127, 255, cv2.THRESH_TOZERO)

在这里插入图片描述

5、反阈值化为0

该方法先选定一个阈值,比如127。
(1) 大于等于阈值127的像素点变为0
(2) 小于该阈值的像素点值保持不变
例如,163->0,86->86,102->102,201->0。

关键字为 cv2.THRESH_TOZERO_INV

r, b = cv2.threshold(GrayImage, 127, 255, cv2.THRESH_TOZERO_INV)

在这里插入图片描述
最后五个算法对比一下
在这里插入图片描述

6、图像腐蚀

形态学转换主要针对的是二值图像(0或1)。图像腐蚀类似于“领域被蚕食”,将图像中的高亮区域或白色部分进行缩减细化,其运行结果图比原图的高亮区域更小。其主要包括两个输入对象:
(1)二值图像
(2)卷积核
卷积核是腐蚀中的关键数组,采用numpy库可以生成。
图像腐蚀主要使用的函数为erode,其原型如下:
dst = cv2.erode(src, kernel, iterations)
参数dst表示处理的结果,src表示原图像,kernel表示卷积核,iterations表示迭代次数。下图表示5*5的卷积核,可以采用函数 np.ones((5,5), np.uint8) 构建。

#设置卷积核
kernel = np.ones((5,5), np.uint8)

#图像腐蚀处理
erosion = cv2.erode(src, kernel)

在这里插入图片描述

6、图像膨胀

图像膨胀是腐蚀操作的逆操作,类似于“领域扩张”,将图像中的高亮区域或白色部分进行扩张,其运行结果图比原图的高亮区域更大,线条变粗了,主要用于去噪。
(1) 图像被腐蚀后,去除了噪声,但是会压缩图像。
(2) 对腐蚀过的图像,进行膨胀处理,可以去除噪声,并且保持原有形状。
图像膨胀主要使用的函数为dilate,其原型如下:
dst = cv2.dilate(src, kernel, iterations)
参数dst表示处理的结果,src表示原图像,kernel表示卷积核,iterations表示迭代次数。下图表示5*5的卷积核,可以采用函数 np.ones((5,5), np.uint8) 构建。

erosion = cv2.dilate(src, kernel)

在这里插入图片描述


the end

Python-Opencv中的膨胀和腐蚀 Python-Opencv中的膨胀和腐蚀 腐蚀和膨胀是对白色部分(高亮部分)而言的,不是黑色部分。 膨胀就是图像中的高亮部分进行膨胀,“邻域扩张”,效果图拥有比原图更大的高亮区域。腐蚀就是原图中高亮部分被腐蚀,“邻域被蚕食”,效果图拥有比原图更小的高亮区域。 1.膨胀 膨胀过程是有一个结构元素或者模板去在原图像素比对,当比对过程中,中心像素位置的值根据其八邻域取或运算,或运算为1就取自己的中心值,... 阅读详情

相关推荐

[Python图像处理] 七.图像阈值化处理及算法对比

该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门、OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子、图像增强技术、图像分割等,后期结合深度学习研究图像识别、图像分类应用。本篇文章主要讲解Python调用OpenCV实现图像阈值化处理操作,包括二进制阈值化、反二进制阈值化、截断阈值化、反阈值化为0、阈值化为0。全文均是基础知识,希望对您有所帮助。

杨秀璋的专栏 2万+

【opencv-python】色彩和图像基础

对比度调节 改变图像对比度原理: gbr色彩空间——以127为分界线,小于127的会越小,大于127的会越大 达成“亮的越亮,暗的越暗”的效果 图像灰度化: 在RGB模型中,如果R=G=B时,则彩色表示一种灰度颜色,其中R=G=B的值叫灰度值,因此,灰度图像每个像素只需一个字节存放灰度值(又称强度值、亮度值),灰度范围为0-255。0%的灰度RGB数值是255,255,255;1%灰度的RGB数值是253,253,253;2%灰度RGB值为250,250,250。 图像灰度化:在RGB模...

jxyyyy的博客 906

[Python图像处理] 四十三.Python图像形态学处理万字详解(腐蚀膨胀、开闭运算、梯度顶帽黑帽运算)

数学形态学是一门建立在格论和拓扑学基础之上的图像分析学科,是数学形态学图像处理的基本理论。其基本的运算包括:腐蚀和膨胀、开运算和闭运算、图像顶帽运算和图像底帽运算、骨架抽取、形态学梯度、Top-hat变换等。万字长文整理,希望对您有所帮助。该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门、OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子、图像增强技术、图像分割等,后期结合深度学习研究图像识别、图像分类应用。希望文章对您有所帮助,如果有不足之处,还请海涵~

杨秀璋的专栏 2万+

数字图像处理之形态学操作——腐蚀

形态学操作——腐蚀 一提到图像处理,想必大家都会马上联想到阈值处理、腐蚀、膨胀、开闭运算等等图像处理中的常规操作。工作之后如果从事图像处理相关的工作,无论你用啥样的开发平台(Halcon、OpenCV、MATLAB等),这些基础的操作每天都在上演,出现在你的代码里。但你是否清晰其中的操作原理,还是仅仅只是应用,比如腐蚀膨胀,一旦精确到具体数值,该如何合理精确设置结构元大小。接下来和大家先聊一聊形态学操作中的腐蚀。 冈萨雷斯数字图像处理中是这么介绍的: 理论嘛,怎么绕怎么来,可以忽略,只需看我下面示例图讲解就

ZiLiangQin的博客 8564

[Python图像处理] 十七.图像锐化与边缘检测之Roberts算子、Prewitt算子、Sobel算子和Laplacian算子

图像锐化和边缘提取技术可以消除图像中的噪声,提取图像信息中用来表征图像的一些变量,为图像识别提供基础。通常使用灰度差分法对图像的边缘、轮廓进行处理,将其凸显。本文分别采用Laplacian算子、Robert算子、Prewitt算子和Sobel算子进行图像锐化边缘处理实验。本文主要讲解灰度线性变换,基础性知识希望对您有所帮助。 1.Roberts算子 2.Prewitt算子 3.Sobel算子 4.Laplacian算子 5.总结代码

杨秀璋的专栏 4万+

[Python图像处理] 八.图像腐蚀与图像膨胀

图像的膨胀(Dilation)和腐蚀(Erosion)是两种基本的形态学运算,主要用来寻找图像中的极大区域和极小区域。其中膨胀类似于“领域扩张”,将图像中的高亮区域或白色部分进行扩张,其运行结果图比原图的高亮区域更大;腐蚀类似于“领域被蚕食”,将图像中的高亮区域或白色部分进行缩减细化,其运行结果图比原图的高亮区域更小。

杨秀璋的专栏 3万+

python skimage图像处理(二)

python skimage图像处理(二) This blog is from:https://www.jianshu.com/p/66e6261f0279 图像简单滤波 对图像进行滤波,可以有两种效果:一种是平滑滤波,用来抑制噪声;另一种是微分算子,可以用来检测边缘和特征提取。 skimage库中通过filters模块进行滤波操作。 1、sobel算子 sobel算子可用来...

preapy的博客 2469

[Python从零到壹] 四十七.图像增强及运算篇之腐蚀和膨胀详解

欢迎大家来到“Python从零到壹”,在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍。第二部分将讲解图像运算和图像增强,上一篇文章介绍图像阈值化处理,涉及阈值化处理、固定阈值化处理和自适应阈值化处理,这是图像边缘检测或图像增强等处理的基础。这篇文章将详细讲解开始图像形态学知识,主要介绍图像腐蚀处理和膨胀处理。数学形态学(Mathematical Morphology)是一种应用于图像处理和模式识别领域的新方法。基础性文章,希望对您有所帮助。

杨秀璋的专栏 6270

《OpenCv视觉之眼》Python图像处理九 :Opencv图像形态学处理之图像腐蚀与膨胀原理及方法

本专栏主要介绍如果通过OpenCv-Python进行图像处理,通过原理理解OpenCv-Python的函数处理原型,在具体情况中,针对不同的图像进行不同等级的、不同方法的处理,以达到对图像进行去噪、锐化等一系列的操作。同时,希望观看本专栏的小伙伴可以理解到OpenCv进行图像处理的强大哦,如有转载,请注明出处(原文链接和作者署名),感谢各位小伙伴啦! 前文参考: 《OpenCv视觉之眼》Python图像处理一 :Opencv-python的简介及Python环境搭建 《OpenCv视觉之眼》Python图像

qq_42451251的博客 5295

[Python图像处理] 二十二.Python图像傅里叶变换原理及实现

前面一篇文章我讲解了Python图像量化、采样处理及图像金字塔。本文主要讲解图像傅里叶变换的相关内容,在数字图像处理中,有两个经典的变换被广泛应用——傅里叶变换和霍夫变换。其中,傅里叶变换主要是将时间域上的信号转变为频率域上的信号,用来进行图像除噪、图像增强等处理。基础性文章,希望对你有所帮助。同时,该部分知识均为杨秀璋查阅资料撰写,转载请署名优快云+杨秀璋及原地址出处,谢谢!! 1.图像傅里叶变换 2.Numpy实现傅里叶变换 3.Numpy实现傅里叶逆变换 4.OpenCV实现傅里叶变换

杨秀璋的专栏 5万+

[Python图像处理] 二十六.图像分类原理及基于KNN、朴素贝叶斯算法的图像分类案例

前面一篇文章详细讲解了素描特效、怀旧特效、光照特效、流年特效以及滤镜特效,代码通过Python和OpenCV实现。本篇文章将分享图像分类原理,并介绍基于KNN、朴素贝叶斯算法的图像分类案例。基础性文章,希望对你有所帮助。同时,该部分知识均为杨秀璋查阅资料撰写,转载请署名优快云+杨秀璋及原地址出处,谢谢!!

杨秀璋的专栏 2万+

《数字图像处理》-上机 5 图像阈值化处理、霍夫变换及形态学算法

学习图像阈值化处理、霍夫变换、形态学算法及编程实现方法。

upc_ws云边牧风是文森 1528

[Python图像处理] 三十一.图像点运算处理两万字详细总结(灰度化处理、阈值化处理)

该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门、OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子、图像增强技术、图像分割等,后期结合深度学习研究图像识别、图像分类应用。希望文章对您有所帮助,如果有不足之处,还请海涵~ 前面一篇文章介绍了图像量化及采样处理,这篇文章将结合作者研究民族服饰及文化图腾识别,详细讲解图像点运算,包括灰度化处理、灰度线性变换、灰度非线性变换、阈值化处理,万字长文吐血整理,希望对您有所帮助。

杨秀璋的专栏 7328

数字图像处理专栏目录

注:转载请标明原文出处链接:https://xiongyiming.blog.youkuaiyun.com/article/details/103137690 为了方便查阅复习,将自己原来撰写的博文进行整理,数字图像处理专栏目录如下: 数字图像处理(1): 数字图像处理领域应用——电磁波谱 可见光 数字图像处理(2): 颜色空间/模型—— RGB, CMY/CMYK, HSI, HSV, YUV 数字...

TechArtisan6的博客 7740

[Python图像处理] 二十五.图像特效处理之素描、怀旧、光照、流年以及滤镜特效

该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门、OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子、图像增强技术、图像分割等,后期结合深度学习研究图像识别、图像分类应用。本篇文章继续分享素描特效、怀旧特效、光照特效、流年特效以及滤镜特效。代码通过Python和OpenCV实现,基础性文章,希望对你有所帮助。

杨秀璋的专栏 1万+

[Python图像识别] 四十六.图像预处理之图像去雾详解(ACE算法和暗通道先验去雾算法)

上一篇文章主要介绍目标检测原理,通过七个问题来普及什么是目标检测,然后利用ImageAI实现最简单的目标检测案例。这篇文章将详细介绍图像去雾算法,经过图像增强后的图像也能应用于目标检测或图像分类领域,并且效果更好。本文主要讲解ACE去雾算法、暗通道先验去雾算法以及雾化生成算法,并且参考了两位计算机视觉大佬(Rizzi 何恺明)的论文。希望您喜欢,且看且珍惜。

杨秀璋的专栏 1万+

数字图像处理python实现-形态学处理

内容简介腐蚀膨胀开闭运算击中与击不中细化骨架提取裁剪距离变换 腐蚀 膨胀 开闭运算 击中与击不中 细化 骨架提取 裁剪 距离变换

图像弟弟的博客 4878

基于MediaPipe的智能俯卧撑计数与姿势矫正系统

在现代健身和体能训练中,俯卧撑是最基础也是最有效的自重训练动作之一。然而,许多人在进行俯卧撑训练时常常存在姿势不正确、计数不准确等问题。本文将介绍如何利用计算机视觉和姿态估计技术,开发一个智能的俯卧撑计数与姿势矫正系统。

qq_36224726的博客 916

《OpenCv视觉之眼》Python图像处理二十三:OpenCV图像处理最终章之基于PyQt5的图像处理界面设计及功能实现

本专栏主要介绍如果通过OpenCv-Python进行图像处理,通过原理理解OpenCv-Python的函数处理原型,在具体情况中,针对不同的图像进行不同等级的、不同方法的处理,以达到对图像进行去噪、锐化等一系列的操作。同时,希望观看本专栏的小伙伴可以理解到OpenCv进行图像处理的强大哦,如有转载,请注明出处(原文链接和作者署名),感谢各位小伙伴啦! 前文参考: 《OpenCv视觉之眼》Python图像处理一 :Opencv-python的简介及Python环境搭建 《OpenCv视觉之眼》Python图像

qq_42451251的博客 5797

数字麦克风PDM信号采集与STM32 I2S接口应用(二)

在使用STM32的数字麦克风I2S接口时,计算采样率让人头疼,芯片手册上没有明确的说法,而手册上的计算方法经过测试却和实验不符。借助搜索引擎,大部分资料都是来自于开发板卖家或开发板论坛,主要是咪头采集然后配置WM89系列解码芯片,然后配合FatFS、MP3解码等模式,主要是讲解I2S录音、存储、放音等。外文资料得到的也寥寥无几,也没有找到讲解STM32数字麦克风配置、计算的文档。加上网上资料转载、抄袭、浅尝辄止的笔记教程,这些更是让检索大海捞针,过程艰辛一言难尽,有些网文三言两语抑或作者都没有搞清楚随手一写

XIAOYOUDUODUO的博客 6055

数据结构与算法 —— 最短路径Dijkstra算法(迪杰斯特拉)详细图解以及python实现

前两章我们讲到了关于图的基本知识,和广度/深度优先搜索。本章,我们将介绍加权图和最短路径的相关知识。最短路径和最小生成树是图论中常见的问题。最短路径是指在一个图中找到两个节点之间的最短路径,最小生成树是指在一个图中找到一个连通子图,使得所有节点都能够互相到达,且总权值最小。最短路径算法常见的有floyd算法(弗洛伊德算法)和 dijkstra算法(迪杰斯特拉)。本文只介绍dijkstra算法。最短路径运用非常广泛,比如在导航系统中,确定两个地点间哪条路线最短;

‘’ 2万+
上一篇: 【python图像处理】python图像融合、加法运算、图像类型转换、图像缩放
下一篇: 【python图像处理】python开运算、闭运算、梯度运算、顶帽运算、黑帽运算
Ray_Songaaa
博客等级 码龄7年 27粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值