1、像素选择
(1)函数pixval(matlab7.8中此函数已过时),改用impixelinfo,用来测试像素的值。
imshow canoe.tif;
impixelinfo
效果图如下:
(2)函数impixel,用来得到像素的值。
语法格式:
[C,R,P]=impixel(X,MAP)
其中X表示输入图像,MAP表示索引图像的调色板(仅当图像为索引图像时才有此参数)。C表示指定像素的颜色,R和P表示像素的坐标。
RGB=imread('canoe.tif');
c=[12 146 410];
r=[104 156 129];
pixels=impixel(RGB,c,r)
pixels =
254 254 254
252 252 252
NaN NaN NaN
2、强度描述图
函数improfile,用来计算图像中一条线段或多条线段强度值。
语法格式:
C=improfile(I,xi,yi);
其中I为输入图像,xi和yi是两个向量,用来指定线段的端点,C是线段上个点的灰度或颜色。对于单独的线段,improfile函数会在二维视图中绘制点的灰度值;对于多条线段,improfile函数会在三维视图中绘制灰度值。
用improfile函数显示两条线段的灰度值。
I=imread('rice.png<span style="font-family: Arial, Helvetica, sans-serif;">');</span>
subplot(121),imshow(I);
x=[35 338 346 103];
y=[253 250 17 148];
subplot(122),improfile(I,x,y),grid on;
效果图如下:
3、图像轮廓图
函数imcontour用来显示灰度图像中数据的轮廓图
I=imread('rice.png');
subplot(121),imshow(I);
subplot(122),imcontour(I);
效果图如下:
4、直方图
灰度直方图是灰度级的函数,描述的是图像中具有该灰度级的像素的个数。
函数imhist:显示图像的直方图
格式:
imhist(I,n);
imhist(X,map);
I=imread('pout.tif');
subplot(121),imshow(I);
title('原图像'),axis square;
subplot(122),imhist(I);
title('图像的直方图'),axis square;
效果如下:
5、对比度扩展以增强图像
函数imadjust,将图像的灰度值映像为一个新的数值范围。
语法格式:略
I=imread('rice.png');
J=imadjust(I,[0.15 0.9],[0 1]);
subplot(121),imshow(I);
subplot(122),imhist(J);
效果图如下:
通过对数变换来改善图像质量
I=imread('pout.tif');
subplot(121),imshow(I);
I=double(I);
J=log(I+1);
subplot(122),imshow(mat2gray(J));
效果图如下: