macOS python opencv 图像膨胀、必运算 开运算

版权声明:本文为博主原创文章,可以自由转载。 https://blog.csdn.net/u010953692/article/details/83957367

1,opencv 图像 形态变换

#! /usr/local/bin/python3
# coding:utf-8
"""
图像二值化 全局阀值 
"""
from PIL import Image
import cv2
import numpy as np

src = "/root/captcha_png.png"
import cv2
img = cv2.imread(src , 0)
#高斯滤波
gauss = cv2.GaussianBlur(img,(5,5),0)
#全局二值化
ret , thresh1 = cv2.threshold(gauss ,127, 255, cv2.THRESH_BINARY)
cv2.imwrite("/root/captcha_gauss.png", thresh1)

kernel = np.ones((3,3), np.uint8)
#erosion = cv2.erode(thresh1, kernel, iterations=1)
dilation = cv2.dilate(thresh1, kernel, iterations=1)
cv2.imwrite("/root/captcha_dilation.png", dilation)
cv2.imshow("dilation", dilation)
cv2.waitKey()

  • 二值化 高斯滤波
    在这里插入图片描述
  • 膨胀后图片
    在这里插入图片描述

2,闭运算 开运算

#! /usr/local/bin/python3
# coding:utf-8
"""
图像二值化 全局阀值 
"""
from PIL import Image
import cv2
import numpy as np

src = "/root/captcha_png.png"
import cv2
img = cv2.imread(src , 0)
#高斯滤波
gauss = cv2.GaussianBlur(img,(5,5),0)
#全局二值化
ret , thresh1 = cv2.threshold(gauss ,127, 255, cv2.THRESH_BINARY)
cv2.imwrite("/root/captcha_gauss.png", thresh1)

kernel = np.ones((3,3), np.uint8)
#erosion = cv2.erode(thresh1, kernel, iterations=1)
dilation = cv2.dilate(thresh1, kernel, iterations=1)
cv2.imwrite("/root/captcha_dilation.png", dilation)
#cv2.imshow("dilation", dilation)
#cv2.waitKey()

#定义结构元素
rect = cv2.getStructuringElement(cv2.MORPH_RECT, (2,2))

#闭运算
closed = cv2.morphologyEx(dilation, cv2.MORPH_CLOSE, rect)
cv2.imshow("close", closed)
cv2.waitKey()

opened = cv2.morphologyEx(dilation, cv2.MORPH_OPEN, rect)
cv2.imshow("open", opened)
cv2.waitKey()

  • 闭运算
    在这里插入图片描述
  • 开运算
    在这里插入图片描述
    参考:
  1. OpenCV-Python教程:14.形态变换
  2. opencv for python (14) 形态学转换(图像腐蚀、图像膨胀、开运算、闭运算、形态学梯度、礼帽、黑帽)
  3. python opencv形态学变换:腐蚀与膨胀
  4. OpenCV-Python教程(4、形态学处理)开运算和闭运算

猜你喜欢

转载自blog.csdn.net/u010953692/article/details/83957367
今日推荐