1
filter2 (B,X)
B为滤波器 **.X为要滤波的数据,**这里将B放在X上,一个一个移动进行模板滤波.
imfilter 可进行多维图像(RGB等)进行空间滤波,且可选参数较多
filter2 只能对二维图像(灰度图)进行空间滤波
2
imshow是用来显示图片的,如
I = imread(‘moon.tif’);
figure,imshow(I);
3
所谓的滤波就是一个系数矩阵(也称为模板,滤波器,滤波模板,核,掩模或者窗口),然后用这个模板对应图像矩阵(填充0后的图像矩阵)进行乘积和运算。
4
均值滤波就是这个滤波器每个值都是一样大小,每个值是1/k(k为滤波器矩阵的大小)
滤波器可通过 w=**fspecial(‘type’,parameters)**得到,其中type指定滤波器类型,parameters进一步定一规定的滤波器
用**fspecial(‘average’)**可以创建一个均值滤波器,默认33,每个值都是1/(33)=0.1111
例子 filter2(fspecial(‘average’,3),I1)/255; %进行33模板平滑滤波
filter2 二维图像空间滤波,fspecial进行滤波,均值滤波,33矩阵,I1为处理的图像,
有时为了数据处理,要把读取的图片信息转化为更高的精度,
I = double(imread(‘moon.tif’));
如果直接运行imshow(I),我们会发现显示的是一个白色的图像。
这是因为imshow()显示图像时对double型是认为在0~1范围内,
即大于1时都是显示为白色,而imshow显示uint8型时是0~255范围。
而经过运算的范围在0-255之间的double型数据就被不正常得显示为白色图像了。
imshow(I/256); -----------将图像矩阵转化到0-1之间