我怎么用IMFILTER高通滤波器图像吗?
265(30天)
显示旧的评论
接受的答案
更多的答案(3)
图像分析
2011年8月6日
clc;%清除命令窗口。
关闭所有;%关闭所有数据(除了imtool。)
imtool关闭所有;%关闭所有imtool数字。
清晰;%擦掉所有现有的变量。
工作空间;%确定工作区面板显示。
字形大小= 20;
%读入一个标准的MATLAB灰度图像演示。
文件夹= fullfile (matlabroot,“\工具箱\ \ imdemos图像”);
baseFileName =“cameraman.tif”;
fullFileName = fullfile(文件夹,baseFileName);
%得到完整的文件名,路径前缀。
fullFileName = fullfile(文件夹,baseFileName);
如果~存在(fullFileName“文件”)
%没有找到它。检查它的搜索路径。
fullFileName = baseFileName;%没有路径。
如果~存在(fullFileName“文件”)
%仍然没有找到它。提醒用户。
errorMessage = sprintf (错误:%年代并不存在。,fullFileName);
uiwait (warndlg (errorMessage));
返回;
结束
结束
grayImage = imread (fullFileName);
%得到图像的尺寸。numberOfColorBands应该= 1。
[行列numberOfColorBands] =大小(grayImage);
%显示原始灰度图像。
次要情节(2 2 1);
imshow (grayImage []);
标题(的原始灰度图像,“字形大小”、字形大小);
%全屏放大图。
集(gcf,“位置”get (0,“拉”));
集(gcf,“名字”,“由ImageAnalyst演示”,“numbertitle”,“关闭”)
%过滤器1
kernel1 = 1 * 1 (3) / 9;
kernel1 (2, 2) = 8/9
%过滤的图像。需要投单,因此它可以浮点
%,允许图像有负值。
filteredImage = imfilter(单(grayImage), kernel1);
%显示图像。
次要情节(2,2,2);
imshow (filteredImage []);
标题(过滤后的图像的,“字形大小”、字形大小);
%过滤器2
kernel2 = [1 2 1;2 12 2;1 2 1]/ 16;
%过滤的图像。需要投单,因此它可以浮点
%,允许图像有负值。
filteredImage = imfilter(单(grayImage), kernel2);
%显示图像。
次要情节(2、2、3);
imshow (filteredImage []);
标题(过滤后的图像的,“字形大小”、字形大小);