1、图像捕获工具箱
out1 = imaqhwinfo
2、图像文件的读取
[X,MAP]=imread('filename''fmt')
3、图像文件的写入
imwrite(X,map,filename,fmt)
4、图像文件信息的查询
INFO = imfinfo('0.bmp','bmp')
5、图像文件的显示
imshow(X,map)
6、图像灰度直方图的显示
imhist(I,n)
imhist(X,map)
7、rgb2hsv 函数
Hsvmap=rgb2hsv(rgbmap)
HSV=rgb2hsv(RGB)
8、显示块的操作
(1)
clear;
I=imread('cameraman.tif');
imshow(I);
s=size(I);
I=double(I);
for i=1:2:s(1,1)
for j=1:2:s(1,2)
sum = I(i,j)+I(i+1,j)+I(i,j+1)+I(i+1,j+1);
I(i,j)=sum/4;
I(i+1,j)=sum/4;
I(i,j+1)=sum/4;
I(i+1,j+1)=sum/4;
end
end
I=uint8(I);
figure
imshow(I)
(2)
I=imread('tire.tif');
f = inline('sum(sum(x,2),1)/4');
I1=blkproc(I,[2,2],f);
figure;imshow(uint8(I1));
(3)
I = imread('cameraman.tif');
fun = @dct2;
J=blkproc(I,[8 8],fun);
imagesc(J),colormap(hot)
9、滑块邻域操作
(1)
I=imread('tire.tif');
f=inline('max(x(:))');
I1=nlfilter(I,[3,3],f);
imshow(I);
figure;imshow(I1);
(2)
I = imread('liftingbody.png');
fun = inline('std2(x)*ones(size(x))');
I2 = blkproc(I,[8,8],fun);
imview(I),imview(I2,[])
10、峰值信噪比
function psnr=PSNR(A,B)
sizeA=size(A);sizeB=size(B);
if sizeA~=sizeB
error('image A and B are not of the same size')
end
if A == B
error('Image are identical:PSNR has infinite value')
end
max2_A = max(max(A));
max2_B = max(max(B));
min2_A = min(min(A));
min2_B = min(min(B));
if max2_A > 255 || max2_B > 255 || min2_A < 0 || min2_B < 0
error('input matrices must have values in the interval[0,255]')
end
error_diff = A - B;
descibels = 20*log10(255/(sqrt(mean(error_diff.^2))))));
disp(sprintf('PNSR = +%5.2f dB',decibels))
书中的代码,结果有错误的后期会进行修正。
微信“图像处理与模式识别研究所”关注我呦