数字图像处理(DFT变换、DCT变换、几何变换、灰度级变换)
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
%读取原图 %灰度化图像 %im图像按列翻转 %im图像按行翻转 %Him图像按行翻转
%灰度级变换-窗口线性变换
figure %im=rgb2gray(im); [h,w]=size(im); a1=70/256;b1=190/256;c1=100/256;d1=250/256; %参数设置 result1=imadjust(im,[a1;b1],[c1;d1]); %截取式灰度变换 result2=im; for x=1:w for y=1:h if im(y,x)>a1&&im(y,x)<b1 result2(y,x)=(im(y,x)-a1)*(d1-c1)/(b1-a1)+c1; %高低端灰度保持 end end end subplot(1,3,1),imshow(im),title('原灰度图像'); subplot(1,3,2),imshow(result1),title('截取式灰度变换'); subplot(1,3,3),imshow(result2),title('高低端灰度保持');
%DFT变换
clear all clc im1=imread('132.jpg'); %读取图像 figure subplot(2,2,1),imshow(im1),title('原图'); %显示原图像 im2=rgb2gray(im1); %将彩色图像灰度化 subplot(2,2,2),imshow(im2),title('灰度化图像'); %显示灰度化图像 DFTim2=fftshift(fft2(im2)); %计算傅里叶变换并移位 im3=abs(DFTim2); %求模 subplot(2,2,3),imshow(log(1+im3),[]),title('DFT频谱图'); %显示DFT频谱图 top=max(im3(:)); %求模的最大值 bottom=min(im3(:)); %求模的最小值 im3=(im3-bottom)/(top-bottom)*100; %把模规划到[0 100] subplot(2,2,4),imshow(im3),title('规范化DFT频谱图'); %显示规范化频谱图
%DCT变换 figure subplot(2,2,1),imshow(im1),title('原图'); %显示原图 subplot(2,2,2),imshow(im2),title('灰度化图像'); %显示灰度化图像 DCTim2=dct2(im2); %进行离散余弦变换 ADCTim2=abs(DCTim2); %求模 %subplot(2,2,3),imshow(DCTim2),title('132DCT频谱图'); subplot(2,2,3),imshow(log(1+ADCTim2),[]),title('DCT频谱图'); %显 示DCT频谱图 top=max(ADCTim2(:)); %求模的最大值 bottom=min(ADCTim2(:)); %求模的最小值 ADCTim2=(ADCTim2-bottom)/(top-bottom)*100; %把模规划到[0 100] subplot(2,2,4),imshow(ADCTim2),title('规范化DCT频谱图'); %显示规 范化DCT频谱图
%几何变换-翻转
clear all im=imread('132.jpg'); im=rgb2gray(im); figure Him=flipdim(im,2); Vim=flipdim(im,1); Cim=flipdim(Him,1); subplot(221),imshow(im); subplot(222),imshow(Him); subplot(223),ims