数字图像处理实验:R分量提取与巴特沃斯低通滤波器设计.pdfVIP

  • 0
  • 0
  • 约1.66千字
  • 约 4页
  • 2026-03-10 发布于北京
  • 举报

数字图像处理实验:R分量提取与巴特沃斯低通滤波器设计.pdf

实验一

问题2.取得R、G、B分量

clc,clear;

closeall;

%选择RGB图像

ImageA=imread(RGBimageA.tiff);

%获取R、G、B分量

imgR=ImageA;

imgR(:,:,2)=0;

imgR(:,:,3)=0;

imgG=ImageA;

imgG(:,:,1)=0;

imgG(:,:,3)=0;

imgB=ImageA;

imgB(:,:,1)=0;

imgB(:,:,2)=0;

%显示出原图像和R、G、B三个分量图像

subplot(2,2,1);imshow(ImageA);title(原图);

subplot(2,2,2);imshow(imgR);title(R分量图);

subplot(2,2,3);imshow(imgG);title(G分量图);

subplot(2,2,4);imshow(imgB);title(B分量图);

实验三

问题2.自己设计特沃斯低通滤波器

functionH=butterworth(I,D0)

%针对图像I生成一个巴特沃斯低通滤波器

[m,n]=size(I);

H=zeros(m,n);

hCenter=round(m/2);

lCenter=round(n/2);

H(hCenter-D0:hCenter+D0,lCenter-D0:lCenter+D0)=1;

end

clc,clear;

closeall;

%图像

imgI=imread(hanxue.jpg);

%对图像进行灰度化处理

imgI=rgb2gray(imgI);

%imgModel=rgb2gray(imgModel);

%中值滤波

imgFilter=medfilt2(imgI,[3,3]);

%均值滤波

h=fspecial(average,3);

imgFilter=imfilter(imgFilter,h);

%获取幅度特征

imgAmpl=log(1+abs(imgI));

%获取直方图特征

imgHist=imhist(imgI)/numel(imgI);

%对图像进行二值化处理

imgBW=im2bw(imgFilter);

%canny边缘检测,获得纹理特征

imgEdge=edge(imgBW,canny);

%imgModel=edge(imgModel,canny);

%与模板匹配,进行差分运算

imgSubEdge=imsubtract(imgEdge,imgModelEdge);

imgSubAmpl=imsubtract(imgAmpl,imgModelAmpl);

imgSubHist=imsubtract(imgHist,imgModelHist);

%其中的imgModeEdgeimgModelAmplimgModelHist为样本的特征数据

%计算差分图像的均方差

imgMSEEdge=std2(imgSubEdge);

imgMSEAmpl=std2(imgSubAmpl);

imgMSEHist=std2(imgSubHist);

%将得到的均方差与规定范围比较

%如果均方差在设定的范围内,说明不是次品;否则,属于次品

文档评论(0)

1亿VIP精品文档

相关文档