每天一練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 | 圖像處理 |