Matlab论坛
直播中

乂统天下

5年用户 232经验值
擅长:可编程逻辑 测量仪表 嵌入式技术 控制/MCU
私信 关注

源码交流=图像处理 实现图像去噪、滤波、锐化、边缘检测

本帖最后由 乂统天下 于 2020-4-2 11:54 编辑

新手学习,多多关照,互相交流,共同进步^-^
【实现功能】数字图像处理基本操作 [matlab2016b]
实现图像去噪、滤波、直方图均衡化、锐化、边缘检测
【处理效果】
NO.1:原图
result1=原图.jpg
NO.2:去噪之后的图像
result2=去噪之后的图像.jpg
NO.3:锐化之后的图像
result3=锐化之后的图像.jpg
NO.4:直方图均衡之后的图像
result4=直方图均衡之后的图像.jpg
NO.5:Prewitt边缘检测之后的图像
result5=prewitt边缘检测之后的图像.jpg
NO.6:Roberts边缘检测之后的图像
result6=roberts边缘检测之后的图像.jpg
NO.7:Sobel边缘检测之后的图像
result7=sobel边缘检测之后的图像.jpg

【改进分析】
暂无
【源码下载】
https://www.lanzous.com/iajjk5i
密码:8czs

【程序展示】
  1. % 功能:MATLAB实现图像处理=去噪、滤波、锐化、边缘检测
  2. % 说明:无

  3. clear;clc;close all

  4. %读取图像
  5. I=imread('1.jpg');
  6. try
  7.     I=rgb2gray(I);    %如果是RGB图像,转成灰度图
  8. end

  9. %添加噪声
  10. I=imnoise(I,'salt & pepper',0.04); % 叠加密度为0.04的椒盐噪声
  11. figure
  12. imshow(I)
  13. title('原图')

  14. %图像去噪
  15. I=medfilt2(I,[2 4]);   %采用二维中值滤波函数medfilt2对受椒盐噪声干扰的图像滤波
  16. figure
  17. imshow(I)
  18. title('去噪之后的图像')

  19. %图像锐化
  20. [M,N]=size(I);   % 计算图像的尺寸
  21. f=double(I);     % 数据类型转换,MATLAB不支持图像的无符号整型的计算
  22. g=fft2(f);       % 二维傅立叶变换,得到频域信息
  23. g=fftshift(g);   % 0频率移到(M/2,N/2)处

  24. n=2;            % 二阶巴特沃斯(Butterworth)滤波器
  25. D0=3;           % 巴特沃斯滤波器的D0,D0越大,保留的高频信号就越少(对于不同的图片,可以自行调节,以便得到好的效果)
  26. for i=1:M
  27.     for j=1:N
  28.         D=sqrt((i-M/2)^2+(j-N/2)^2);   %计算离0频率(M/2,N/2)的距离
  29.         h=1/(1+(D0/D)^(2*n));          %计算传递函数的值
  30.         output(i,j)=h*g(i,j);          %高通滤波之后(i,j)处的值
  31.     end
  32. end
  33. result=ifftshift(output);   %与g=fftshift(g)对应,还原回去
  34. I=ifft2(result);   %傅里叶反变换
  35. I=uint8(real(I));  %得到滤波之后的图像(锐化之后的图像)
  36. figure
  37. imshow(I)          %滤波后图像显示
  38. title('锐化之后的图像')

  39. %直方图均衡化处理
  40. I=histeq(I);    %得到直方图均衡化之后的图像
  41. figure
  42. imshow(I)
  43. title('直方图均衡之后的图像')

  44. %边缘检测
  45. I1=edge(I,'prewitt');
  46. I2=edge(I,'roberts');
  47. I3=edge(I,'sobel');

  48. figure
  49. imshow(I1)
  50. title('prewitt边缘检测之后的图像')

  51. figure
  52. imshow(I2)
  53. title('roberts边缘检测之后的图像')

  54. figure
  55. imshow(I3)
  56. title('sobel边缘检测之后的图像')








回帖(2)

pht321

2020-4-4 09:17:42
此帖仅作者可见
1 举报
  • 乂统天下: 谢谢支持,如果对 代码 有改进分析可以交流一下,新手学习,多多关照

张纪成

2020-4-27 17:02:29
此帖仅作者可见
1 举报
  • 乂统天下: 能帮助您是我的荣幸,欢迎探讨交流,共同学习进步。
    更多精华帖子可以订阅淘专辑  [在文章末尾左下角 MATLAB交流Q群821300038]

更多回帖

发帖
×
20
完善资料,
赚取积分