#1:数字图像矩阵数据的显示及其傅立叶变换

#2:二维离散余弦变换的图像压缩

#3:采用灰度变换的方法增强图像的对比度

#4:直方图均匀化

#5:模拟图像受高斯白噪声和椒盐噪声的影响

#6:采用二维中值滤波函数medfilt2对受椒盐噪声干扰的图像滤波

#7:采用MATLAB中的函数filter2对受噪声干扰的图像进行均值滤波

#8:图像的自适应魏纳滤波

#9:运用5种不同的梯度增强法进行图像锐化

#10:图像的高通滤波和掩模处理

#11:利用巴特沃斯(Butterworth)低通滤波器对受噪声干扰的图像进行平滑处理

#12:利用巴特沃斯(Butterworth)高通滤波器对受噪声干扰的图像进行平滑处理

1.数字图像矩阵数据的显示及其傅立叶变换

f=zeros(30,30);

f(5:24,13:17)=1;

imshow(f, 'notruesize');

F=fft2(f,256,256); % 快速傅立叶变换算法只能处矩阵维数为2的幂次,f矩阵不

% 是,通过对f矩阵进行零填充来调整

F2=fftshift(F); % 一般在计算图形函数的傅立叶变换时,坐标原点在

% 函数图形的中心位置处,而计算机在对图像执行傅立叶变换

% 时是以图像的左上角为坐标原点。所以使用函数fftshift进

%行修正,使变换后的直流分量位于图形的中心;

figure,imshow(log(abs(F2)),[-1 5],'notruesize');

2 二维离散余弦变换的图像压缩

I=imread('cameraman.tif'); % MATLAB自带的图像

imshow(I);

clear;close all

I=imread('cameraman.tif');

imshow(I);

I=im2double(I);

T=dctmtx(8);

B=blkproc(I,[8 8], 'P1*x*P2',T,T');

Mask=[1 1 1 1 0 0 0 0

1 1 1 0 0 0 0 0

1 1 0 0 0 0 0 0

1 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0];

B2=blkproc(B,[8 8],'P1.*x',Mask); % 此处为点乘(.*)

I2=blkproc(B2,[8 8], 'P1*x*P2',T',T);

figure,imshow(I2); % 重建后的图像

3.采用灰度变换的方法增强图像的对比度

I=imread('rice.tif');

imshow(I);

figure,imhist(I);

J=imadjust(I,[0.15 0.9], [0 1]);

figure,imshow(J);

figure,imhist(J);

4直方图均匀化

I=imread('pout.tif'); % 读取MATLAB自带的potu.tif图像

imshow(I);

figure,imhist(I);

[J,T]=histeq(I,64); % 图像灰度扩展到0~255,但是只有64个灰度级

figure,imshow(J);

figure,imhist(J);

figure,plot((0:255)/255,T); % 转移函数的变换曲线

J=histeq(I,32);

figure,imshow(J); % 图像灰度扩展到0~255,但是只有32个灰度级

figure,imhist(J);

5模拟图像受高斯白噪声和椒盐噪声的影响

I=imread('eight.tif');

imshow(I) ;

J1=imnoise(I,'gaussian',0,0.02); % 叠加均值为0,方差为0.02的高斯噪声,可以用

% localvar代替figure,imshow (J1);

J2=imnoise(I,'salt & pepper',0.04); % 叠加密度为0.04的椒盐噪声。

figure,imshow(J2);

6采用二维中值滤波函数medfilt2对受椒盐噪声干扰的图像

I=imread('eight.tif');

imshow(I) ;

J2=imnoise(I,'salt & pepper',0.04); % 叠加密度为0.04的椒盐噪声。

figure,imshow(J2);

I_Filter1=medfilt2(J2,[3 3]); %窗口大小为3×3

figure,imshow(I_Filter1);

I_Filter2=medfilt2(J2,[5 5]); %窗口大小为5×5

figure,imshow(I_Filter2);

I_Filter3=medfilt2(J2,[7 7]); %窗口大小为7×7

figure,imshow(I_Filter3);

7采用MATLAB中的函数filter2对受噪声干扰的图像进行均值滤波

[I,map]=imread('eight.tif');

figure,imshow(I);title('original')

J1=imnoise(I,'gaussian',0,0.02); % 受高斯噪声干扰

M4=[0 1 0; 1 0 1; 0 1 0];

M4=M4/4; % 4邻域平均滤波

I_filter1=filter2(M4,J1);

figure,imshow(I_filter1,map);

M8=[1 1 1; 1 0 1; 1 1 1]; % 8邻域平均滤波

M8=M8/8;

I_filter2=filter2(M8,J1);

figure,imshow(I_filter2,map);

8图像的自适应魏纳滤波

[I,map]=imread('eight.tif');

figure,imshow(I);title('original')

J1=imnoise(I,'gaussian',0,0.02); % 受高斯噪声干扰

[K noise]=wiener2(J1, [5 5]);

figure,imshow(K);

9运用5种不同的梯度增强法进行图像锐化

[I,map]=imread('3-22.jpg');

imshow(I,map);

I=double(I);

[Gx,Gy]=gradient(I); % 计算梯度

G=sqrt(Gx.*Gx+Gy.*Gy); % 注意是矩阵点乘

J1=G;

figure,imshow(J1,map); % 第一种图像增强

J2=I; % 第二种图像增强

K=find(G>=7);

J2(K)=G(K);

figure,imshow(J2,map);

J3=I; % 第三种图像增强

K=find(G>=7);

J3(K)=255;

figure,imshow(J3,map);

J4=I; % 第四种图像增强

K=find(G<=7);

J4(K)=255;

figure,imshow(J4,map);

J5=I; % 第五种图像增强

K=find(G<=7);

J5(K)=0;

Q=find(G>=7);

J5(Q)=255;

figure,imshow(J5,map);

10图像的高通滤波和掩模处理

[I,map]=imread('blood1.tif');

imshow(I,map);

H2=[-1 -1 -1;-1 -9 -1;-1 -1 -1];

J1=filter2(H2,I); % 高通滤波

figure,imshow(J1,map);

I=double(I);

M=[1 1 1;1 1 1;1 1 1]/9;

J2=filter2(M,I);

J3=I-J2; % 掩模

figure,imshow(J3,map);

11利用巴特沃斯(Butterworth)低通滤波器对受噪声干扰的图像进行平滑处理

I=imread('Saturn.tif');

imshow(I);

J1=imnoise(I,'salt & pepper'); % 叠加椒盐噪声

figure,imshow(J1);

f=double(J1); % 数据类型转换,MATLAB不支持图像的无符号整型的计算

g=fft2(f); % 傅立叶变换

g=fftshift(g); % 转换数据矩阵

[M,N]=size(g);

nn=2; % 二阶巴特沃斯(Butterworth)低通滤波器

d0=50;

m=fix(M/2); n=fix(N/2);

for i=1:M

for j=1:N

d=sqrt((i-m)^2+(j-n)^2);

h=1/(1+0.414*(d/d0)^(2*nn)); % 计算低通滤波器传递函数

result(i,j)=h*g(i,j);

end

end

result=ifftshift(result);

J2=ifft2(result);

J3=uint8(real(J2));

figure,imshow(J3); % 显示滤波处理后的图像

12利用巴特沃斯(Butterworth)高通滤波器对受噪声干扰的图像进行平滑处理

I=imread('blood1.tif');

imshow(I);

f=double(I); % 数据类型转换,MATLAB不支持图像的无符号整型的计算

g=fft2(f); % 傅立叶变换

g=fftshift(g); % 转换数据矩阵

[M,N]=size(g);

nn=2; % 二阶巴特沃斯(Butterworth)高通滤波器

d0=5;

m=fix(M/2);

n=fix(N/2);

for i=1:M

for j=1:N

d=sqrt((i-m)^2+(j-n)^2);

if (d==0)

h=0;

else

h=1/(1+0.414*(d0/d)^(2*nn));% 计算传递函数

end

result(i,j)=h*g(i,j);

end

end

result=ifftshift(result);

J2=ifft2(result);

J3=uint8(real(J2));

figure,imshow(J3); % 滤波后图像显示

图像的 matlab代码,常用的一些图像处理Matlab源代码相关推荐

  1. matlab幂次变换代码,常用的一些图像处理Matlab源代码

    #1:数字图像矩阵数据的显示及其傅立叶变换 #2:二维离散余弦变换的图像压缩 #3:采用灰度变换的方法增强图像的对比度 #4:直方图均匀化 #5:模拟图像受高斯白噪声和椒盐噪声的影响 #6:采用二维中 ...

  2. matlab图源代码,[转载]常用的一些图像处理Matlab源代码

    常用的一些图像处理Matlab源代码 #1:数字图像矩阵数据的显示及其傅立叶变换 #2:二维离散余弦变换的图像压缩 #3:采用灰度变换的方法增强图像的对比度 #4:直方图均匀化 #5:模拟图像受高斯白 ...

  3. Matlab代码 多时间尺度优化调度 MATLAB程序含冰蓄冷空调的冷热电联供型微网多时间尺度优化调度

    Matlab代码 多时间尺度优化调度 MATLAB程序,论文复现<含冰蓄冷空调的冷热电联供型微网多时间尺度优化调度> 是一篇多时间尺度的优化运行程序 有需要的可以先知网阅读一下文章 ID: ...

  4. gs算法的matlab代码_【图像算法amp;MATLAB】直方图均衡(干货代码)

    本文内容来自博客专栏<DIP数字图像处理> 1 前言 直方图均衡(Histogram equalization)是利用直方图分布,计算累加函数,按照累加函数做映射,能够提升图像对比度. 本 ...

  5. 彩色matlab代码拷贝到word研究,matlab编辑器合并_彩色MATLAB代码拷贝到WORD研究

    公众号:理念世界的影子 文不可无观点,观点不可无论据. 转载请注明出处 结果简单,重在过程 有时将彩色Matlab代码拷贝到Word中,可能出现彩色消失.中文乱码.没有行号.字体不佳等问题.已有的措施 ...

  6. 双边滤波去噪matlab代码,双边滤波器原理及其matlab实现

    之前做过图像细节增强方面的工作,处理的是红外灰度14bit图像,图像信号由14bit AD量化后,再经FPGA处理得到,使用非锐化掩模的方法,先用双边滤波器(BF)对原图像进行滤波得到低频部分,原图和 ...

  7. python怎么运行matlab代码_用python运行matlab代码

    我得到了一个错误:Traceback (most recent call last): File "", line 1, in File "C:\Users\XYZ\Ap ...

  8. 2dpca的matlab代码,2DPCA人脸识别的matlab代码

    [实例简介] 很好用的2DPCA人脸识别的matlab代码 [实例截图] [核心代码] 2dpcamatlab └── 2dpcamatlab ├── CreateDatabase.m ├── orl ...

  9. 公式写成matlab代码,大话遗传算法(含Matlab代码)

    一.遗传算法简介 转载自:https://blog.csdn.net/acelit/article/details/78187715 在工程实践中,经常面临多变量.不可微.不连续.有约束等条件下的最优 ...

最新文章

  1. mysql+8.0+新特性_MySQL 8.0的一些新特性汇总大全
  2. 如何使用R来连接各个数据库
  3. 不用写语句的轻量级orm_为什么说sqltoy-orm远比mybatis强大
  4. java 继承 冒号_java继承(extends)简单介绍
  5. 十大经典算法 - 转载
  6. 《信息学奥赛一本通 提高篇》
  7. GitLab持续集成在商用项目中的应用实践
  8. Python的if判断与while循环
  9. qpsk调制matlab实现,QPSK调制与解调系统的MATLAB实现
  10. COM组件和DLL的区别
  11. 汽车CAN通信解析(一)
  12. linux系统编译时make出错,centos 编译安装cmake和常见过程错误解决办法(linux系统均适用,以爬坑。。)...
  13. 手把手教你 win10 安装Paddlepaddle-GPU
  14. Lua Busted 单元测试实战
  15. L2+ 概念要火!英伟达和英特尔都释放了什么信号?| CES 2019 ...
  16. pptp连接服务器无响应,解决PPTP客户端拨号不成功
  17. SWT带垂直滚动条的Text自动滚动到底部(比如显示聊天信息)
  18. 基于扩展有限元的多段压裂裂缝的扩展模拟(二)
  19. css 动画 keyframes
  20. OpenCV学习笔记(十二)——图像分割与提取

热门文章

  1. 蓝桥杯 算法训练 关联矩阵Python实现
  2. IDEA如何执行maven命令
  3. html td无边框颜色,table的td设置背景颜色后边框框消失
  4. JAVA 生成二维码并写到EXCEL中导出
  5. jquery的ajax的使用!
  6. Inventor 二次开发学习指南(入门到精通)
  7. 接口隔离原则(Interface Segregation Principle)
  8. 电脑蓝屏终止代码及其解决方法
  9. java gif图片_java 如何生成动态的gif图片
  10. git stash、git branch使用方法