我是靠谱客的博主 高贵流沙,最近开发中收集的这篇文章主要介绍pythonopencv图像形态_Python 图像处理 OpenCV (10):图像处理形态学之顶帽运算与黑帽运算...,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

前文传送门:

引言

今天是图形处理形态学的最后一篇,我们介绍顶帽运算和黑帽运算。

建议先阅读前面两篇图像处理的内容:

形态学之顶帽运算

图像处理顶帽运算是一个获取图像噪声的运算,它是由原始图像减去图像开运算而得到的结果:

顶帽运算 = 原始图像 - 开运算

图像顶帽运算同样是使用形态学扩展函数 morphologyEx() ,它的参数是 MORPH_TOPHAT ,示例如下:

import cv2 as cv

import numpy as np

import matplotlib.pyplot as plt

# 读取图片

source = cv.imread("demo_noise_white.jpg", cv.IMREAD_GRAYSCALE)

# 设置卷积核

kernel = np.ones((5, 5), np.uint8)

# 开运算

open = cv.morphologyEx(source, cv.MORPH_OPEN, kernel)

# 顶帽运算

dst = cv.morphologyEx(source, cv.MORPH_TOPHAT, kernel)

# 显示结果

titles = ['Source Img','Open Img', 'Tophat Img']

images = [source, open, dst]

# matplotlib 绘图

for i in range(3):

plt.subplot(1, 3, i+1), plt.imshow(images[i],'gray')

plt.title(titles[i])

plt.xticks([]),plt.yticks([])

plt.show()

形态学之黑帽运算

图像处理顶帽运算是一个获取图像内部的小孔,或者前景色中的小黑点的运算。

它是由图像闭运算减去原始图像的操作:

黑帽运算 = 闭运算图像 - 原始图像

图像顶帽运算同样是使用形态学扩展函数 morphologyEx() ,它的参数是 MORPH_BLACKHAT ,示例如下:

import cv2 as cv

import numpy as np

import matplotlib.pyplot as plt

# 读取图片

source = cv.imread("demo_noise_black.jpg", cv.IMREAD_GRAYSCALE)

# 设置卷积核

kernel = np.ones((5, 5), np.uint8)

# 黑帽运算

dst = cv.morphologyEx(source, cv.MORPH_BLACKHAT, kernel)

# 构造显示结果数组

titles = ['Source Img', 'Black Img']

images = [source, dst]

# matplotlib 绘图

for i in range(2):

plt.subplot(1, 2, i+1), plt.imshow(images[i],'gray')

plt.title(titles[i])

plt.xticks([]),plt.yticks([])

plt.show()

今天的内容比较短,至此,图像形态学的几个基础的运算已经全部介绍完毕,希望各位同学能理解这几个运算的原理,而不是仅仅知道了几个参数或者说几个方法的调用。

示例代码

如果有需要获取源码的同学可以在公众号回复「OpenCV」进行获取。

最后

以上就是高贵流沙为你收集整理的pythonopencv图像形态_Python 图像处理 OpenCV (10):图像处理形态学之顶帽运算与黑帽运算...的全部内容,希望文章能够帮你解决pythonopencv图像形态_Python 图像处理 OpenCV (10):图像处理形态学之顶帽运算与黑帽运算...所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部