一、直方图匹配(直方图规定化)算法:是以一个图像直方图作为模板,使待处理图像直方图与模板直方图近似。
算法流程:
- 分别计算模板影像和待处理影像累积直方图(统计像素值在0~255上分布比例);
- 一次计算待图像直方图上每个值到模板图像直方图每个值之间差值,生成256个差值表;
- 计算每个差值表中最小值,将最小值索引作为该差值表对应待处理图像值变换后值,生成查找表;
- 通过查找表对待处理图像进行处理。
实现步骤:
- 计算累积直方图:
计算直方图
Map<Integer, Double> map = new HashMap<>();
int width = image.getWidth();
int height = image.getHeight();
double totalPixel = width * height;
double rate = 1 / (3 * totalPixel);
for (int i = 0; i < 256; i++) {
map.put(i, 0.0);// 通过循环,往集合里面填充0~255个位置,初始值都为0
}
//分别统计图像上0~255上分布总数
for (int i = 0; i < image.getWidth(); i++) {
for (int j = 0; j < image.getHeight(); j++) {
int rgb = image.getRGB(i, j);
int r = (rgb >> 16) & 0xff;
int g = (rgb >> 8) & 0xff;
int b = rgb & 0xff;
map

本文详细介绍了直方图匹配算法的实现过程,用于调整图像色调,使其与模板图像色调一致。通过计算累积直方图、生成差值表、确定查找表并应用到图像上,成功地将待处理图像的色调转换为与模板图像接近。实验结果显示,处理后的图像色调与模板图像高度匹配,证实了算法的有效性。
最低0.47元/天 解锁文章
2879

被折叠的 条评论
为什么被折叠?



