掩模直方图均衡化

2022-05-28 16:29:08 浏览数 (3)

代码语言:javascript复制
import cv2
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.pyplot as plt
o=cv2.imread('C:/Users/xpp/Desktop/coins.png',cv2.IMREAD_GRAYSCALE)#原始图像
equ=cv2.equalizeHist(o)#灰度直方图均衡化
cv2.imshow("original",o)
cv2.imshow("result",equ)
mask=np.zeros(equ.shape, np.uint8)
mask[200:400,200:400]=255
histImage=cv2.calcHist([o],[0],None,[256],[0,255])#绘制灰度直方图均衡化
histMI=cv2.calcHist([equ],[0],mask,[256],[0,255])#绘制掩模直方图均衡化
plt.plot(histImage)
plt.plot(histMI)
cv2.waitKey()
cv2.destroyAllWindows()

算法:掩模图像,也称掩膜图像,借鉴于PCB制版过程,似一块玻璃板,玻璃板上白色区域是透明的,黑色区域是不透明的。掩膜有方形掩膜和圆形掩膜等。掩模运算是将该玻璃板覆盖在原始图像透过玻璃板显示出来的部分就是掩模运算的结果图像。掩膜图像应用在感兴趣区、图像屏蔽、图像合成、结构特征提取、特殊形状图像提取等领域。

  • 首先将图像进行灰度直方图均衡化
  • 然后灰度直方图均衡化后的图像进行掩模处理
  • 最后绘制灰度直方图

书籍:《数字图像处理与机器视觉——Visual C 与Matlab实现》

文献:Dekker, N. , Ploeger, L. S. , & Herk, M. V. . (2003). Evaluation of cost functions for gray value matching of two-dimensional images in radiotherapy. Medical Physics, 30.

0 人点赞