数字图像处理与计算机视觉(python)OpenCv

计算机视觉(开运算和闭运算)

2019-12-27  本文已影响0人  zidea
封面

开运算和闭运算

腐蚀和膨胀是开运算和闭运算的基础

开运算

先腐蚀后膨胀的过程为开运算
I \circ S = (I \ominus S) \oplus S

看上去把细微连在一起的两块目标分开了


erode_dilate.png

对于开运算还有一个很重要的作用,就是消除暗背景下的较亮区域,目的是在不改变黑色台球面积的情况下,消除球上的白色环形区域

def erode_dilate():
    I = cv2.imread("images/eight_ball.jpeg",0)
    # 结构元半径
    cv2.imshow("I",I)
    r = 1
    i = 1
    MAX_R,MAX_I = 20,20
    cv2.namedWindow("morphology",1)
    def nothing(*arg):
        pass
    cv2.createTrackbar("r","morphology",r,MAX_R,nothing)
    cv2.createTrackbar("i","morphology",i,MAX_I,nothing)
    while(True):
        # 显示原图
        r = cv2.getTrackbarPos('r','morphology')
        i = cv2.getTrackbarPos('i','morphology')
        print(r)
        s = cv2.getStructuringElement(cv2.MORPH_RECT,(2*r + 1,2*r+1))
        d = cv2.morphologyEx(I,cv2.MORPH_OPEN,s,iterations=i)
        cv2.imshow("morphology",d)
        k = cv2.waitKey(5)
        if k==27:
            break
    cv2.destroyAllWindows()
eight_ball.jpeg 屏幕快照 2019-12-27 下午9.15.36.png 屏幕快照 2019-12-27 下午9.16.14.png

闭运算

与开运算的操作相反,闭运算是对图像先膨胀后腐蚀

看上去将两个细微连接的图块封闭在一起


dilate_erode.png

I \bullet S = (I \oplus S) \ominus S

目的是去掉所有骰子上的黑色区域。同样知道膨胀操作可以消除黑色,但是如果是膨胀会增大骰子的面积,而闭运算恰恰可以避免这一点,消除黑色同时不会改变骰子的面积。

def erode_dilate():
    I = cv2.imread("images/toss_die.jpeg",0)
    # 结构元半径
    cv2.imshow("I",I)
    r = 1
    i = 1
    MAX_R,MAX_I = 20,20
    cv2.namedWindow("morphology",1)
    def nothing(*arg):
        pass
    cv2.createTrackbar("r","morphology",r,MAX_R,nothing)
    cv2.createTrackbar("i","morphology",i,MAX_I,nothing)
    while(True):
        # 显示原图
        r = cv2.getTrackbarPos('r','morphology')
        i = cv2.getTrackbarPos('i','morphology')
        print(r)
        s = cv2.getStructuringElement(cv2.MORPH_RECT,(2*r + 1,2*r+1))
        d = cv2.morphologyEx(I,cv2.MORPH_CLOSE,s,iterations=i)
        cv2.imshow("morphology",d)
        k = cv2.waitKey(5)
        if k==27:
            break
    cv2.destroyAllWindows()
toss_die.jpeg 屏幕快照 2019-12-27 下午9.28.12.png
上一篇下一篇

猜你喜欢

热点阅读