前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >常见的图像变换二值化与形态学操作-python-opencv版

常见的图像变换二值化与形态学操作-python-opencv版

作者头像
微风、掠过
发布2018-08-02 16:13:13
6670
发布2018-08-02 16:13:13
举报

1.变为rgb通道: img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) 2.变为灰度图: gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) 3.直方图均衡化(一般需化为灰度图): eq = cv2.equalizeHist(gray)#灰度图像直方图均衡化

4.OTSU 方差法进行二值化 ret1, th1_bw = cv2.threshold(eq, 0, 255, cv2.THRESH_OTSU) th1_bw即为二值化后的图片

5.膨胀(一般为二值化后的图像进行二值化,但彩色图也可操作): 1)选取核的大小: kernel = cv2.getStructuringElement(cv2.MORPH_RECT,(12, 12)) 2)膨胀 dilate1 = cv2.dilate(th1_bw,kernel) cv2.imshow("膨胀",dilate1) cv2.waitKey()

6.腐蚀: kernel = cv2.getStructuringElement(cv2.MORPH_RECT,(12, 12)) dilate1 = cv2.erode(th1_bw,kernel) cv2.imshow("腐蚀",erode) cv2.waitKey()

7.开运算 kernel = cv2.getStructuringElement(cv2.MORPH_RECT,(5, 5)) opened = cv2.morphologyEx(img, cv2.MORPH_OPEN, kernel) cv2.imshow("Open", opened) cv2.waitKey(0)

8.闭运算 closed = cv2.morphologyEx(img, cv2.MORPH_CLOSE, kernel) cv2.imshow("Close",closed); cv2.waitKey(0)

9.滤波运算: 双边滤波: value1 = 3 value2 = 1 dx = value1 * 12 # 双边滤波参数一 fc = value1 * 8 # 双边滤波参数二 img = cv2.bilateralFilter(img,dx,fc*2,fc/2) #双边滤波EPFFilter(Src)

或: 双边滤波器的优点是能够做边缘保存(edge preserving),一般过去用的维纳滤波或者高斯滤波去降噪。都会较明显地模糊边缘,对于高频细节的保护效果并不明显。 双边滤波器顾名思义比高斯滤波多了一个高斯方差sigma-d,它是基于空间分布的高斯滤波函数。所以在边缘附近,离的较远的像素不会太多影响到边缘上的像素值,这样就保证了边缘附近像素值的保存。 blurred=cv2.bilateralFilter(img, 9,41,41)

参考:https://www.cnblogs.com/dyllove98/archive/2013/06/23/3151263.html

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.07.17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档