多语言展示
当前在线:1778今日阅读:195今日分享:41

python进行形态学的顶帽运算

顶帽运算是在开闭运算基础上通过原图减去开运算后的结果。在实际使用中主要完成对光照不均匀图像进行处理,寻找不均匀边缘或轮廓。
工具/原料
1

pycharm

2

opencv3 python3

方法/步骤
1

顶帽计算方法:顶帽图 = 原图 - (对原图进行开计算)目的:不均匀亮度情况下,二值处理后的较亮边缘物体因为亮度偏高,导致二值后数据损失,通过顶帽运算,寻找边缘。顶帽变换适用于暗背景上的亮物体

2

import cv2  as cvimport numpy as npimage = cv.imread('c:\\diban1.jpg')cv.imshow('image', image)使用关照

3

gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY)cv.imshow('gray', gray)转成灰度

4

ret, thresholdImg = cv.threshold(gray, 170, 255, cv.THRESH_BINARY)cv.imshow('thresholdImg', thresholdImg)转为二值图

5

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

7

我们更换卷积核再计算一次看看效果,其余不变。kernel = cv.getStructuringElement(cv.MORPH_CROSS,(5, 5))采用十字交叉核内部两个点都损失了顶帽运算,对卷积核比较敏感。

注意事项
1

MORPH_TOPHAT参数是顶帽,主要用于校正光照不均匀导致前景偏亮的情况

2

卷积核一般选全1

推荐信息