6. Pixel-based processing
1.
(a)
>> cd `C:\Users\LG\Desktop`
>> barbara=imread(`barbara.bmp`);
>> R=barbara(:,:,1);
>> G=barbara(:,:,2);
>> B=barbara(:,:,3);
>> Req=histeq(R,256);
>> Geq=histeq(G,256);
>> Beq=histeq(B,256);
>> colorimage=cat(3,Req,Geq,Beq);
>> grayimage=rgb2gray(colorimage);
>> imhist(grayimage);
(b)
[h,s,v]=rgb2hsv(barbara);
>> veq=histeq(v);
>> hsveq=cat(3,h,s,veq);
>> barbaraeq=hsv2rgb(hsveq);
>> imshow(barbaraeq);
>> grayimageeq=rgb2gray(barbaraeq);
>> figure(1);
>> subplot(1,2,1);imhist(grayimage);
>> subplot(1,2,2);imhist(grayimageeq);
>> figure(2);
>> subplot(1,2,1);imshow(colorimage);
>> subplot(1,2,2);imshow(barbaraeq);
(c)
(b)가 더 좋은 영상이다.
7. Mask-based processing
1.
(a)
함수
function [Output_Image] = Blurring_F( input_Image,method )
%UNTITLED Summary of this function goes here
% Detailed explanation goes here
if(method==3)
a=1/9;
Mask=[a,a,a;a,a,a;a,a,a];
elseif(method==5)
a=1/25;
Mask=[a,a,a,a,a;a,a,a,a,a;a,a,a,a,a;a,a,a,a,a;a,a,a,a,a];
elseif(method==7)
a=1/49;
Mask=[a,a,a,a,a,a,a;a,a,a,a,a,a,a;a,a,a,a,a,a,a;a,a,a,a,a,a,a;a,a,a,a,a,a,a;a,a,a,a,a,a,a;a,a,a,a,a,a,a];
end
[Image_H,Image_W]=size(input_Image);
[Mask_H,Mask_W]=size(Mask);
for r=1:(Image_H-Mask_H+1)
for c=1:(Image_W-Mask_W+1)
sum=0.0;
for m=1:Mask_H
for n=1:Mask_W
sum=sum+double(input_Image(r+m-1,c+n-1))*double(Mask(m,n));
end
end
Output_Image(r,c)=uint8(sum);
end
end
end