zoukankan      html  css  js  c++  java
  • 图像形态学操作

    形态学-腐蚀操作

    img = cv2.imread('dige.png')
    
    cv2.imshow('img', img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

    kernel = np.ones((3,3),np.uint8) 
    erosion = cv2.erode(img,kernel,iterations = 1)
    
    cv2.imshow('erosion', erosion)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

    pie = cv2.imread('pie.png')
    
    cv2.imshow('pie', pie)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

      

    kernel = np.ones((30,30),np.uint8) 
    erosion_1 = cv2.erode(pie,kernel,iterations = 1)
    erosion_2 = cv2.erode(pie,kernel,iterations = 2)
    erosion_3 = cv2.erode(pie,kernel,iterations = 3)
    res = np.hstack((erosion_1,erosion_2,erosion_3))
    cv2.imshow('res', res)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

    形态学-膨胀操作

    img = cv2.imread('dige.png')
    cv2.imshow('img', img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    kernel = np.ones((3,3),np.uint8) 
    dige_erosion = cv2.erode(img,kernel,iterations = 1)
    
    cv2.imshow('erosion', erosion)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    kernel = np.ones((3,3),np.uint8) 
    dige_dilate = cv2.dilate(dige_erosion,kernel,iterations = 1)
    
    cv2.imshow('dilate', dige_dilate)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

     

    pie = cv2.imread('pie.png')
    
    kernel = np.ones((30,30),np.uint8) 
    dilate_1 = cv2.dilate(pie,kernel,iterations = 1)
    dilate_2 = cv2.dilate(pie,kernel,iterations = 2)
    dilate_3 = cv2.dilate(pie,kernel,iterations = 3)
    res = np.hstack((dilate_1,dilate_2,dilate_3))
    cv2.imshow('res', res)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

    开运算与闭运算

    # 开:先腐蚀,再膨胀
    img = cv2.imread('dige.png')
    
    kernel = np.ones((5,5),np.uint8) 
    opening = cv2.morphologyEx(img, cv2.MORPH_OPEN, kernel)
    
    cv2.imshow('opening', opening)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

    # 闭:先膨胀,再腐蚀
    img = cv2.imread('dige.png')
    
    kernel = np.ones((5,5),np.uint8) 
    closing = cv2.morphologyEx(img, cv2.MORPH_CLOSE, kernel)
    
    cv2.imshow('closing', closing)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

    梯度运算

    # 梯度=膨胀-腐蚀
    pie = cv2.imread('pie.png')
    kernel = np.ones((7,7),np.uint8) 
    dilate = cv2.dilate(pie,kernel,iterations = 5)
    erosion = cv2.erode(pie,kernel,iterations = 5)
    
    res = np.hstack((dilate,erosion))
    
    cv2.imshow('res', res)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

    gradient = cv2.morphologyEx(pie, cv2.MORPH_GRADIENT, kernel)
    
    cv2.imshow('gradient', gradient)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

    礼帽与黑帽

    • 礼帽 = 原始输入-开运算结果
    • 黑帽 = 闭运算-原始输入
    #礼帽
    img = cv2.imread('dige.png')
    tophat = cv2.morphologyEx(img, cv2.MORPH_TOPHAT, kernel)
    cv2.imshow('tophat', tophat)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

    #黑帽
    img = cv2.imread('dige.png')
    blackhat  = cv2.morphologyEx(img,cv2.MORPH_BLACKHAT, kernel)
    cv2.imshow('blackhat ', blackhat )
    cv2.waitKey(0)
    cv2.destroyAllWindows()




  • 相关阅读:
    利用自定义分页技术提高数据库性能
    solr深分页,游标操作分页,解决性能问题
    Selenium2+python自动化54-unittest生成测试报告(HTMLTestRunner)
    Selenium2+python自动化53-unittest批量执行(discover)
    Selenium2+python自动化52-unittest执行顺序
    Selenium2+python自动化51-unittest简介
    Fiddler抓包2-只抓APP的请求
    selenium3+python自动化50-环境搭建(firefox)
    Selenium2+python自动化49-判断文本(text_to_be_present_in_element)
    Selenium2+python自动化47-判断弹出框存在(alert_is_present)
  • 原文地址:https://www.cnblogs.com/exciting/p/10389661.html
Copyright © 2011-2022 走看看