- 实验内容
- 选取任意一副灰度图像,imread进行读取,显示其像素值阵列。
- 减少图像的像素,实现多组不同像素总数表示的同一副图像。观察图像采样的像素数对图像质量的影响,观察“棋盘格”现象。
- 减小同一副图像灰度级,实现多组不同灰度级来显示同一幅图像,并选取合适的灰度阈值来实现一幅二值图像。观察图像量化对图像质量的影响,观察“伪轮廓”现象。
- 源程序及结果
-
源程序:
I=imread('13.bmp');
figure;
imshow(I);
[M,N,Q]=size(I);
K=rgb2gray(I);
B=imresize(K,[50,50],'nearest');C=imresize(K,[100,100],'nearest');%用最近邻插值改变图片像素
D=imresize(K,[1000,1000],'nearest');
E=imresize(K,0.1,'nearest');%放大倍数为0.1倍
F=imresize(K,0.2,'nearest');%放大倍数为0.2倍
subplot(2,3,1);imshow(I);title('原图');
subplot(2,3,2);imshow(B);title('像素50*50');
subplot(2,3,3);imshow(C);title('像素100*100');
subplot(2,3,4);imshow(D);title('像素1000*1000');
subplot(2,3,5);imshow(E);title('原图像缩小为0.1倍');
subplot(2,3,6);imshow(F);title('原图像缩小为0.2倍');hold on;figure;
thresh=graythresh(K);%使用最大类间方差法获得一个合适的阈值
A1=histeq(K,32);A2=histeq(K,128);A3=histeq(K,256); %变换灰度图像,在K中返回具有32,128,256个离散灰度级的灰度图像
B1=im2bw(A1,thresh);B2=im2bw(A2,thresh);B3=im2bw(A3,thresh);%将灰度图像 转换为二进制图像。输出图像 BW 将输入图像中亮度值大于 thresh 的像素替换为值1 (白色),其他替换为值0(黑色)
subplot(2,3,1);imshow(K,[0,31]);title('灰度级为32的图像');
subplot(2,3,2);imshow(K,[0,127]);title('灰度级为128的图像');
subplot(2,3,3);imshow(K,[0,255]);title('灰度级为256的图像');
subplot(2,3,4);imshow(B1,[]);title('灰度级4的二值化图');
subplot(2,3,5);imshow(B2,[]);title('灰度级32的二值化图');
subplot(2,3,6);imshow(B3,[]);title('灰度级256的二值化图');
-
结果