点击上方“小白学视觉”,选择加"星标"或“置顶”
重磅干货,第一时间送达
我们已经练习了很多图像处理——操作图像(精确地说是图像矩阵)。为此,我们探索了图像的均衡方法,以便在一定程度上增强对比度,以使被处理的图像看起来比原始图像更好,这种技术称为直方图均衡化。
通常,发生的情况是在捕获图像时,它与自然视图并不相同。为了满足自然视图的水平,应进行后处理。因此,直方图均衡化(归一化)是通过调整图像的像素值来增强对比度的技术之一。
可以在下面看到一个示例:原始图像和均等图像。
如果我们要绘制图像直方图,它将看起来像下面的样子:
直方图均衡化的重要性
该方法对于亮和暗图像都效果更好,特别是在医学领域中,分析X射线图像的重要性更高。
在查看科学图像(例如热图像和卫星图像)时也非常有用。
执行步骤
在本文中,我们将通过使用openCV库以及使用justNumPy和从头开始实现此方法Matplotlib。尽管我们想不使用来做NumPy,但要花很多时间才能计算出来。
添加依赖库
import numpy as np
import cv2
import json
from matplotlib import pyplot as plt
读取图像
def read_this(image_file, gray_scale=False):
image_src = cv2.imread(image_file)
if gray_scale:
image_src = cv2.cvtColor(image_src, cv2.COLOR_BGR2GRAY)
else:
image_