OpenCv学习笔记(二):图像阈值、平滑处理、腐蚀与膨胀python

本文为博客 VIP 文章,开通 VIP 后可阅读全文

开通 VIP

目录

一、图像阈值

二、图像平滑处理

1、cv2.blur() 均值滤波

2、cv2.GuassianBlur() 高斯滤波

3、中值滤波

三、形态学腐蚀操作

1.灰度化

2.二值化

3.腐蚀操作

四、形态学膨胀操作


一、图像阈值

ret, dst = cv2.threshold(scr, thresh, maxval, type)

  1. scr:输入图,只能输入单通道图像;
  2. dst:输出图;
  3. thresh:阈值;
  4. maxval:当图像超过了阈值,所赋予的值;
  5. type:二值化操作的类型,包含以下五种类型:
  • # 超过阈值部分取最大值,否则取0
    cv2.THRESH_BINARY
  • #小于阈值的部分取最大值;否则不变 (THRESH_BINARY的反转)
    cv2.THRESH_BINARY_INV
  • # 大于阈值部分设置为阈值,否则不变
    cv2.THRESH_TRUNC
  • # 大于阈值部分不变,否则设为0
    cv2.THRESH_TOZERO
  • # 小于阈值的部分不变,否则设为零  (THRESH_TOZERO的反转)cv2.THRESH_TOZERO_INV
import cv2
#读取图片
face = cv2.imread('./face1.jpg')

#对图片进行阈值操作处理
ret, thresh1 = cv2.threshold(face, 127, 255, cv2.THRESH_BINARY)
ret, thresh2 = cv2.threshold(face, 127, 233, cv2.THRESH_BINARY_INV)
ret, thresh3 = cv2.threshold(face, 127, 255, cv2.THRESH_TRUNC)
ret, thresh4 = cv2.threshold(face, 127, 255, cv2.THRESH_TOZERO)
ret, thresh5 = cv2.threshold(face, 127, 255, cv2.THRESH_TOZERO_INV)

#将处理后的图片放到一个列表中,再循环展示并保存到同一目录中
imgs = [face, thresh1, thresh2, thresh3, thresh4, thresh5]
for i in range(6):
    cv2.namedWindow('huihui', cv2.WINDOW_NORMAL)
    cv2.resizeWindow('huihui', 500, 700)
    cv2.imshow('huihui', imgs[i])
    # cv2.imshow("face", imgs[i])
    key = cv2.waitKey(0)
    if key == ord('q'):
        break

cv2.destroyAllWindows()

运行结果如图:

 

图像平滑滤波、边缘检测、阈值化、腐蚀膨胀等原理介绍 一幅图像可以定义为一个维函数f(x,y),其中x和y是空间/平面坐标,而在任何一对空间坐标(x,y)处的幅值f称为图像在该点处的强度或灰度。彩色图像是由三个维灰度图像 f(x,y)组成,三个通道分别是RGB或HSV。一般来讲,对图像进行处理的主要目的有三个方面: 改善图像的质量。比如,进行图像的亮度、彩色变换,增强、抑制某些成分,对图像进行几何变换等。 提取图像中所包含的某些特征或特殊信息。提取的特征可以包括很多方面, 阅读详情

相关推荐

图像处理灰度化二值化腐蚀膨胀

灰度化,在RGB模型中,如果R=G=B时,则彩色表示一种灰度颜色,其中R=G=B的值叫灰度值,因此,灰度图像每个像素只需一个字节存放灰度值。 图像(Binary Image)是指将图像上的每一个像素只有两种可能的取值或灰度等级状态 腐蚀就是将图像的边缘腐蚀掉。作用就是将目标的边缘的“毛刺”踢除掉。 膨胀就是将图像的边缘扩大些。作用就是将目标的边缘或者是内部的坑填掉。 使用腐蚀膨胀,可以使目标表面更平滑。 import cv2 import numpy import numpy as np f

weixin_48262500的博客 2519

图像平滑处理的空域算法和频域分析

数字图像处理包括时域和频域的方法。图像平滑通有空域模板和频域滤波器。本文档包含了时域和频域的处理方法,希望对你有帮助!

Python中的图像处理库cv2

综上所述,cv2库作为Python中强大的图像处理工具,为开发者提供了丰富的功能来处理和分析图像。通过学习和掌握cv2库的使用方法,我们可以实现各种复杂的图像处理任务,并在计算机视觉领域进行更深入的研究和应用。无论是初学者还是经验丰富的开发者,都应该积极学习和掌握cv2库的使用技巧,以便更好地应对图像处理和分析的挑战。👨‍💻博主Python老吕评论,您的举手之劳将对我提供了无限的写作动力!🤞🔥《Python全栈工程师》《跟老吕学MySQL》《Python游戏开发实战讲解》🌞。

Python老吕的博客 3354

(数字图像处理MATLAB+Python)第九章图像形态学运算-第三节:图像的形态学处理

形态滤波:是一种在数字图像处理中常用的图像处理技术,用于改善图像的质量、提取图像的特定特征或去除图像中的噪声。形态滤波主要基于形态学运算,通过结构元素(也称为模板)对图像进行局部区域的操作,从而改变图像的形状和结构。选择不同形状(如各向同性的圆、十字架、矩形、不同朝向的有向线段等)、不同尺寸的结构元素可以提取图像的不同特征图像的平缓处理:是数字图像处理中的一项重要任务,它有助于减少图像中的噪声和细节,并使图像更加平滑和连续。通过结合开运算和闭运算,可以实现图像的更加全面的平滑处理

快乐江湖的博客 3324

图像上的算数运算、阈值处理平滑处理

图像加法 可以使用函数 cv2.add() 将两幅图像进行加法运算,也可以直接使用 numpy,new=img+img1。两幅图像的大小,类型必须一致.第图像可以用一个标量值。 import numpy as np import cv2 img = cv2.imread('kn.jpg') img1 = img+10 #加法运算 cv2.imshow('pic',img) cv2.imshow('pic1',img1) print(img[:5,:,0]) print(img1[.

onlywishes的博客 1008

opencv学习(图像阈值平滑处理

图像阈值平滑处理python学习

abc1234abcdefg的博客 2072

图像处理常用算法GPU实现四:基于中值滤波的图像平滑

[cpp] view plain copy /********************************  *  Author: rabbit729  *  E-mail: wlq_729@163.com  *  Date:   2012-10-08  *  Description: 图像平滑  ***************************

u010607947的博客 1772

Python OpenCV 图像二值化操作再次学习图像平滑处理(卷积处理

Python OpenCV 365 天学习计划,二值化再次学习,均值滤波,方框滤波,高斯滤波,中值滤波知识点补充

梦想橡皮擦,专栏100例写作模式先行者,现象级专栏 《Python 爬虫 100 例》作者、《滚雪球学 Python 专栏》原创者 2万+

Python+OpenCV检测灯光亮点

Python+OpenCV检测灯光亮点

不脱发的程序猿 1万+

【人工智能】Python+OpenCV图像处理(一篇全)

参考:1、网易云课堂https://study.163.com/course/courseMain.htm?courseId=1005317018&share=1&shareId=1015101551 2、【在水一方xym的博客】业精于勤荒于嬉,行成于思毁于随 - CSDN博客 https://blog.csdn.net/zaishuiyifangxym 3、 模块c......

E_vens 2万+

(04)python-opencv图像处理——图像阈值平滑图像、形态转换、图像梯度

在本博文中,进行图像阈值平滑图像、形态转换、图像梯度的学习以及介绍。

zyz博客 1509

OpenCV:06.中值滤波、腐蚀膨胀、实现图片的美容效果-双边滤波

中值滤波、腐蚀膨胀、实现图片的美容效果-双边滤波1. 中值滤波双边滤波2. 腐蚀膨胀 1. 中值滤波双边滤波 medianBlur 中值 对所有考虑点进行排序,取中间的那个值(替换到矩阵的中心点) 1,2,“3”,4,5 去掉噪音(很多 黑白点的情况) bilateralFilter 双边 可以用作美容 ,基于高斯,高斯保留的轮廓并不强,双边保留的轮廓信息会增强,基于高斯再增加像素差 使用到的 api // @params d : 滤波过程中使用的每个像素邻域的直径。如果它是非正的,它是

东方升起代码的博客 581

灰度图像的中值滤波→Sobel→腐蚀运算→膨胀运算算法

完美是没有极限的,仅仅进行Sobel→腐蚀运算→膨胀运算得到图像边缘,这还不够好!!!如果在Sobel面加入中值滤波算法呢??会不会得到的边缘检测图像的效果更上一层楼呢??? 结果: 上图左为为灰度→Sobel→腐蚀运算后的图像,上图右为灰度→Sobel→腐蚀运算→膨胀运算后的图像。可见腐膨胀运算后的图像,相当于将腐蚀后的图像边缘进行了加粗,效果更加明朗了。 上图左为灰度→Sobel→...

fighting2019的博客 1326

cv2图像总结

我今天发现cv2读进来的图像是BRG格式的,和其他的方式不同。

qq_45759229的博客 1440

OpenCv图像直方图均衡化cv2.equalizeHist

一、图像直方图 图像的构成是有像素点构成的,每个像素点的值代表着该点的颜色(灰度图或者彩色图)。所谓直方图就是对图像的中的这些像素点的值进行统计,得到一个统一的整体的灰度概念。直方图的好处就在于可以清晰了解图像的整体灰度分布,这对于后面依据直方图处理图像来说至关重要。 一般情况下直方图都是灰度图像,直方图x轴是灰度值(一般0~255),y轴就是图像中每一个灰度级对应的像素点的个数。 ...

5136

python opencv 图像腐蚀膨胀(附H5版本Demo)

图像基本的形态学:腐蚀膨胀(Erosion Dilation) 的实现方式。 膨胀效果: 图片更亮,更白了 腐蚀效果: 图片更暗,更暗了 先膨胀腐蚀还可以起到消除噪声的效果(图片中小黑点不见了) Opencv javascript H5版本Demo体验 点击在线体验 一、腐蚀 cv2.erode 腐蚀会把图像周围轮廓扩大,看着像是被水泡了。 作用: 可以消除白噪点,让图像连起来。 语法: img = cv2.erode(img, kernel, 1); ..

弹了个球 677

opencv图像处理

opencv图像处理

WXG1011的博客 1946

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

1、进制阈值化2、反进制阈值化3、截断阈值化4、阈值化为05、反阈值化为06、图像腐蚀6、图像膨胀 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").

Ray_Songaaa的博客 971
上一篇: OpenCv初学者学习笔记(一):图像视频的加载与显示
下一篇: OpenCv初学者笔记(三):开运算、闭运算、梯度计算
奔腾的小野马ξ
博客等级 码龄5年 4粉丝 4原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值