当前位置:
首页 > temp > python入门教程 >
-
图片的腐蚀,膨胀,开丶闭运算,梯度计算,礼帽与黑帽
1 腐蚀操作
用于图片的去毛刺,内容削减
1 #腐蚀操作 2 #cv2.erode(src,kernel,iterations) 3 #src是图片数字化数组 4 #kernel则是一个盒,对该盒内的像素进行复试操作,值越小腐蚀能力越狠 5 #iterations是一个迭代次数,就是说你对这个图片进行几次的腐蚀操作 6 kernel = np.ones((30,30),np.uint8) 7 erosion1 = cv2.erode(img,kernel,iterations=1) 8 erosion2 = cv2.erode(img,kernel,iterations=2) 9 erosion3 = cv2.erode(img,kernel,iterations=3) 10 res = np.hstack((erosion1,erosion2,erosion3)) 11 Cv_Show('Erode Picture',res)
2 膨胀操作
1 #膨胀操作 2 #因为在进行腐蚀操作后,原本不需要的腐蚀的地方会变细,此时可以通过膨胀操作加回来 3 #cv2.dilate(src,kernel,iterations) 4 #src是图像数字化数组 5 #Kernel为盒,对该盒内的像素进行膨胀操作,值越小膨胀能力越强 6 #iterations是一个迭代次数,就是说你对这个图片进行几次的膨胀操作 7 kernel = np.ones((30,30),np.uint8) 8 dilate1 = cv2.dilate(img,kernel,iterations=1) 9 dilate2 = cv2.dilate(img,kernel,iterations=2) 10 dilate3 = cv2.dilate(img,kernel,iterations=3) 11 res = np.hstack((dilate1,dilate2,dilate3)) 12 Cv_Show('Erode Picture',res)
3 开运算,闭运算
1 #开运算就是先腐蚀后膨胀,闭运算是先膨胀后腐蚀 2 #cv2.morphologyEx(src,type,kernel) 3 #src是图像数字化数组 4 #type有cv2.MORPH_OPEN,cv2.MORPH_CLOSE两种 5 #cv2.MORPH_OPEN就是开运算 6 #cv2.MORPH_CLOSE就是闭运算 7 #Kernel为盒,对该盒内的像素进行膨胀操作,值越小膨胀能力越强 8 kernel3 = np.ones((30,30),np.uint8) 9 opening = cv2.morphologyEx(img,cv2.MORPH_OPEN,kernel3) #使用开运算 10 closeing = cv2.morphologyEx(img,cv2.MORPH_CLOSE,kernel3) #使用闭运算 11 res = np.hstack((opening,closeing)) 12 Cv_Show('morphologyEx Picture', res)
4 梯度运算
1 #梯度运算 2 #梯度 = 膨胀 - 腐蚀 3 #梯度运算是为了得到边界变化的信息 4 gradient = cv2.morphologyEx(img,cv2.MORPH_GRADIENT,kernel3) 5 Cv_Show('Gradient Picture', gradient)
5 礼帽与黑帽
1 #礼帽和黑帽 2 #礼帽 = 原始输入 - 开运算结果 从理论上来说,一个带毛刺的图片优化后没有毛刺 - 原始有毛刺的图,那结果是毛刺 3 #黑帽 = 闭运算 - 原始输入 同样,因为先对毛刺先膨胀后腐蚀,所以有些毛刺可能没腐蚀掉,减去原始后,结果是那些没腐蚀掉的毛刺的边缘 4 topHat = cv2.morphologyEx(img,cv2.MORPH_TOPHAT,kernel3) 5 blackHat = cv2.morphologyEx(img,cv2.MORPH_BLACKHAT,kernel3) 6 res = np.hstack((topHat,blackHat)) 7 Cv_Show('TopHat vs BlackHat Picture', res)
出处:https://www.cnblogs.com/mingrufeng/p/17342105.html
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
SQL Server -- 解决存储过程传入参数作为s
关于JS定时器的整理
JS中使用Promise.all控制所有的异步请求都完
js中字符串的方法
import-local执行流程与node模块路径解析流程
检测数据类型的四种方法
js中数组的方法,32种方法
前端操作方法
数据类型
window.localStorage.setItem 和 localStorage.setIte
如何完美解决前端数字计算精度丢失与数