我就废话不多说了,大家还是直接看代码吧~
#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开运算实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。