每天一練P13-Python和OpenCV做圖像處理(morphologyEx)

每天一練P13-Python和OpenCV做圖像處理(morphologyEx)

來自專欄 Python和OpenCV做圖像處理

每天一練P13-Python和OpenCV做圖像處理(morphologyEx)

形態學操作函數為cv2.morphologyEx()

其中開運算和閉運算是比較常用的形態學運算函數。

開運算是先腐蝕後膨脹,閉運算是先膨脹後腐蝕,都可以去除雜訊,下述示例可直觀看出其區別。

開運算示例代碼

# coding by 劉雲飛# email: liuyunfei.1314@163.com # date: 2018-5-4import cv2import numpy as np# 讀取名稱為 p13.png的圖片img = cv2.imread("p13.png",1)# 轉換為黑白圖像gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)# 二值化ret,threshold = cv2.threshold(gray,132,255,cv2.THRESH_BINARY_INV)# 進行開運算操作kernel = np.ones((3,3),np.uint8)opening = cv2.morphologyEx(threshold,cv2.MORPH_OPEN,kernel)# 顯示原圖和處理後的圖像cv2.imshow("gray",gray)cv2.imshow("threshold",threshold)cv2.imshow("processed",opening) cv2.waitKey(0)

結果如圖,可以看出線外部的曲線已經全部去除。

閉運算示例代碼

# coding by 劉雲飛# email: liuyunfei.1314@163.com # date: 2018-5-4import cv2import numpy as np# 讀取名稱為 p13_2.png的圖片img = cv2.imread("p13_2.png",1)# 轉換為黑白圖像gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)# 二值化ret,threshold = cv2.threshold(gray,132,255,cv2.THRESH_BINARY_INV)# 進行閉運算操作kernel = np.ones((3,3),np.uint8)closing = cv2.morphologyEx(threshold,cv2.MORPH_CLOSE,kernel)# 顯示原圖和處理後的圖像cv2.imshow("gray",gray)cv2.imshow("threshold",threshold)cv2.imshow("processed",closing) cv2.waitKey(0)

結果如圖,字內部的線已經全部去除。


推薦閱讀:

SENet閱讀筆記
Realtime Multi-Person 2D Human Pose Estimation using Part Affinity Fields 論文解讀
一些圖像處理模塊
計算機視覺常見領域問題概要(深度學習)
讀論文系列:Object Detection SPP-net

TAG:計算機視覺 | 深度學習DeepLearning | 圖像處理 |