直方图均衡化
% 读取图像
image = imread('flower.jpg');
% 将图像转换为灰度图像
gray = rgb2gray(image);
% 对灰度图像进行直方图均衡化
J = histeq(gray);
% 显示原始图像、灰度图像和均衡化后的图像
subplot(1, 3, 1);
imshow(image);
title('原始图像');
subplot(1, 3, 2);
imshow(gray);
title('灰度图像');
subplot(1, 3, 3);
imshow(J);
title('均衡化后的图像');
直方图规定化
I = imread('flower.jpg'); % 读取待处理图像
reference = imread('hui.jpg'); % 读取参考图像
% 将待处理图像和参考图像转换为灰度图像
I_gray = rgb2gray(I);
reference_gray = rgb2gray(reference);
% 对待处理图像进行直方图规定化
J = histeq(I_gray, imhist(reference_gray));
% 显示原始图像和规定化后的图像
imshowpair(I, J, 'montage');
和卷积有关的计算
% 相关计算示例
image1 = imread('camema.jpg'); % 读取图像1
image2 = imread('lenna.jpg'); % 读取图像2
gray1 = rgb2gray(image1); % 将图像1转换为灰度图像
gray2 = rgb2gray(image2); % 将图像2转换为灰度图像
normalized_correlation = corr2(gray1, gray2); % 计算两个灰度图像之间的相关性
disp("相关性: " + normalized_correlation); % 显示相关性值
% 卷积计算示例
image = imread('flower.jpg'); % 读取图像
gray = rgb2gray(image); % 将图像转换为灰度图像
filter = [1, 2, 1; 0, 0, 0; -1, -2, -1]; % 定义一个3x3的卷积核
conv_result = conv2(double(gray), double(filter)); % 进行卷积计算
imshow(conv_result, []); % 显示卷积结果图像
camema.jpg
flower.jpg
hui.jpg
lenna.jpg