时间:2020-09-01 python教程 查看: 944
我就废话不多说了,大家还是直接看代码吧~
#coding=utf-8
import cv2
import numpy as np
img=cv2.imread('timg.jpeg',cv2.CV_LOAD_IMAGE_GRAYSCALE)
#创建矩形结构单元
g=cv2.getStructuringElement(cv2.MORPH_RECT,(9,9))
#形态学处理,开运算
img_open=cv2.morphologyEx(img,cv2.MORPH_OPEN,g)
img_hat=img-img_open
cv2.imshow('img',img)
#cv2.imshow('erode',edge_dilate)
cv2.imshow('img_open',img_open)
cv2.imshow('img_open_',img_hat)
cv2.waitKey(0)
cv2.destroyAllWindows()
补充知识:python 图像开闭运算操作
开运算和闭运算就是将腐蚀和膨胀按照一定的次序进行处理。但这两者并不是可逆的,即先开后闭并不能得到原先的图像。
闭运算用来连接被误分为许多小块的对象,而开运算用于移除由图像噪音形成的斑点。
闭运算操作代码如下:
import cv2
def closeopration(img):
kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (5, 5))
iClose = cv2.morphologyEx(image, cv2.MORPH_CLOSE, kernel)
return iClose
image = cv2.imread('t.png')
print(image.shape)
kernel = cv2.getStructuringElement(cv2.MORPH_RECT,(5, 5))
iClose = cv2.morphologyEx(image, cv2.MORPH_CLOSE, kernel)
cv2.imshow('image', image)
cv2.imshow('iClose', iClose)
cv2.waitKey(0)
以上这篇Python-openCV开运算实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持python博客。