安徽做網(wǎng)站的公司專門做推廣的公司
實(shí)驗(yàn)一 圖像增強(qiáng)
實(shí)驗(yàn)內(nèi)容:
-
對(duì)于給定的低對(duì)比度測(cè)試圖像,利用灰度圖像直方圖均衡化算法進(jìn)行圖像視覺效果增強(qiáng)。
-
對(duì)于給定的低照度彩色測(cè)試圖像,結(jié)合顏色空間轉(zhuǎn)換和灰度圖像直方圖均衡化算法進(jìn)行圖像視覺效果增強(qiáng)。
實(shí)驗(yàn)數(shù)據(jù):
Test1_1.jpg:
Test1_2.jpg:
實(shí)驗(yàn)步驟:
%% test1-1
% 讀入原始圖像
clear
clc
close all
Img= imread('test1_1.jpg'); %繪制原始圖像的直方圖
[height,width]=size(Img);
[counts1, x] = imhist(Img,256);
counts2 = counts1/height/width;
figure,
subplot(2,2,1),
imshow(Img);title('原始圖像');
subplot(2,2,2),
bar(x, counts2); title('原始圖像直方圖');%統(tǒng)計(jì)每個(gè)灰度的像素值累計(jì)數(shù)目
NumPixel = zeros(1,256);%統(tǒng)計(jì)各灰度數(shù)目,共256個(gè)灰度級(jí)
for i = 1:height for j = 1: width %對(duì)應(yīng)灰度值像素點(diǎn)數(shù)量+1 %NumPixel的下標(biāo)是從1開始,而圖像像素的取值范圍是0~255,所以用NumPixel(Img(i,j) + 1) NumPixel(Img(i,j) + 1) = NumPixel(Img(i,j) + 1) + 1; end
end %將頻數(shù)值算為頻率
ProbPixel = zeros(1,256);
for i = 1:256 ProbPixel(i) = NumPixel(i) / (height * width * 1.0);
end %函數(shù)cumsum來(lái)計(jì)算cdf,并將頻率(取值范圍是0.0~1.0)映射到0~255的無(wú)符號(hào)整數(shù)
CumuPixel = cumsum(ProbPixel);
CumuPixel = uint8(255 .* CumuPixel + 0.5); %直方圖均衡
for i = 1:height for j = 1: width Img(i,j) = CumuPixel(Img(i,j)+1); end
end %顯示更新后的直方圖
subplot(2,2,3),
imshow(Img); title('直方圖均衡化圖像');
[counts1, x] = imhist(Img,256);
counts2 = counts1/height/width;
subplot(2,2,4),
bar(x, counts2); title('直方圖均衡化后圖像的直方圖');
?
%% test1-2
clear
clc
close all
Img= imread('test1_2.jpg');
hsvImg = rgb2hsv(Img);
V=hsvImg(:,:,3);
[height,width]=size(V); V = uint8(V*255);
NumPixel = zeros(1,256);
for i = 1:height for j = 1: width NumPixel(V(i,j) + 1) = NumPixel(V(i,j) + 1) + 1; end
end ProbPixel = zeros(1,256);
for i = 1:256 ProbPixel(i) = NumPixel(i) / (height * width * 1.0);
end CumuPixel = cumsum(ProbPixel);
CumuPixel = uint8(255 .* CumuPixel + 0.5); for i = 1:height for j = 1: width V(i,j) = CumuPixel(V(i,j)+1); end
end V = im2double(V);
hsvImg(:,:,3) = V;
outputImg = hsv2rgb(hsvImg);
figure,
subplot(1,2,1),
imshow(Img);title('原始圖像');
subplot(1,2,2),
imshow(outputImg); title('在HSV空間均衡化后結(jié)果');
%% test1-2,對(duì)比方法,所以使用了有關(guān)庫(kù)函數(shù)(imhist)
clear
clc
close all
% 讀入低照度彩色測(cè)試圖像
im = imread('test1_2.jpg');
eq_im = im;
R = im(:,:,1);
G = im(:,:,2);
B = im(:,:,3);
?
%分別對(duì)三通道的圖片進(jìn)行均衡化
R = HE(R);
G = HE(G);
B = HE(B); %最后合成為一張圖片
eq_im(:,:,1) = R;
eq_im(:,:,2) = G;
eq_im(:,:,3) = B;
?
% 顯示原始圖像和增強(qiáng)后的圖像
subplot(1, 2, 1);
imshow(im);
title('原始圖像');
subplot(1, 2, 2);
imshow(eq_im);
title('三個(gè)通道分別均衡化增強(qiáng)后的圖像');
其中,HE.m函數(shù)內(nèi)容如下:
function eq_im = HE(gray_im) % 獲取原始圖像的直方圖 histogram = imhist(gray_im); % 計(jì)算累積概率分布 cdf = cumsum(histogram) / numel(gray_im); % 將累積概率分布映射到新的灰度級(jí)別 new_levels = uint8(cdf * 255 + 0.5); % 對(duì)原始圖像應(yīng)用灰度級(jí)別映射 eq_im = new_levels(double(gray_im) + 1);
end
實(shí)驗(yàn)結(jié)果:
Test1_1實(shí)驗(yàn)結(jié)果如下:
通過(guò)原始圖像和均衡化后的圖像對(duì)比,原始圖像直方圖與均衡化后直方圖對(duì)比,均衡化后的直方圖灰度值更加平均,在整幅圖像中不再集中。
通過(guò)灰度圖像直方圖均衡化算法,成功地對(duì)低對(duì)比度測(cè)試圖像進(jìn)行了圖像視覺效果增強(qiáng)。該算法能夠增加圖像的整體對(duì)比度,使得圖像更加清晰、明亮。
Test1_2實(shí)驗(yàn)結(jié)果如下:
通過(guò)結(jié)合顏色空間轉(zhuǎn)換和灰度圖像直方圖均衡化算法,我們對(duì)低照度彩色測(cè)試圖像進(jìn)行了圖像視覺效果增強(qiáng)。在將彩色圖像轉(zhuǎn)換成其他顏色空間后,對(duì)亮度分量/通道進(jìn)行灰度圖像直方圖均衡化算法,然后將增強(qiáng)后的亮度分量/通道與飽和度分量/通道重新組合,得到了增強(qiáng)后的彩色圖像。這樣的處理能夠提高圖像的亮度和對(duì)比度,使圖像更加清晰、細(xì)節(jié)更豐富。
此外,嘗試了不改變顏色空間,對(duì)RGB三通道分別進(jìn)行均衡化,再合成得到均衡化后的彩色圖像如下,可見效果不如上圖,證明了顏色空間轉(zhuǎn)換對(duì)于彩色圖像的直方圖均衡化更有用。
實(shí)驗(yàn)二 圖像去噪
實(shí)驗(yàn)內(nèi)容:
-
對(duì)于給定的兩幅噪聲圖像(test2_1.jpg, test2_2.jpg),設(shè)計(jì)或選擇至少兩種圖像濾波算法對(duì)圖像進(jìn)行去噪。
-
利用給出的參考圖像(test2_1_org.jpg, test2_2_org.jpg),結(jié)合圖像質(zhì)量評(píng)價(jià)算法,對(duì)不同算法進(jìn)行性能分析比較。
實(shí)驗(yàn)數(shù)據(jù):
Test2_1.jpg:高斯噪聲
Test2_2.jpg:椒鹽噪聲