ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

matlab实现图像增强的基本操作(含代码)

2022-03-30 18:33:34  阅读:247  来源: 互联网

标签:imshow Dy 微分 matlab Dx 图像 基本操作 算子 图像增强


 

(1)γ校正:由于数字显示设备的非线性转换特征,使得图像的显示与原始场景相比较而言发生偏暗或偏亮的现象,这个时候就可以采用γ校正进行处理,使图像的显示等于或接近原始场景。消除图像噪声是图像增强、恢复的内容之一。

(2)图像平滑去噪:在常见的图像处理软件中,都提供了常用的除噪功能,其中,空间域的平滑操作最常见。在Matlab中可以实现均值滤波和中值滤波。

(3)图像锐化:图像锐化的目的是突出图像的细节,或者是增强被模糊的细节,这种模糊是在数据获取过程中,由于操作失误导致或经过特殊方法处理后的结果。在matlab中可以实现在空间域的图像锐化,根据一阶和二阶微分算子,设计不同的模板,对图像进行微分计算。

γ校正

使用自带的imadjust函数实现:

I=imread('D:\lab2\pic1.jpg')

I1=imadjust(I,[0 1],[0 1],0.5);!最后一个参数为gamma值,根据需要矫正的图像进行确定
figure(1);subplot(1,2,1);imshow(I);
subplot(1,2,2);imshow(I1);

 

图像平滑去噪

图像锐化

创建一阶微分算子函数,单独存在一个的.m文件中

%创建一阶微分算子函数,单独存在一个的.m文件中
function G=sharpen1(F,Dx,Dy) [m,n]=size(F); %获取图像大小 [N,N]=size(Dx); %获取模板大小 h=(N+1)/2; for i=1:m for j=1:n if((i<h)||(j<h)||(i>m-h+1)||(j>n-h+1)) G(i,j)=double(F(i,j)); %图像不能被处理的区域 continue; end T=double(F(i-h+1:i+h-1,j-h+1:j+h-1)); T1=Dx.*T; T2=Dy.*T; X1=sum(T1(:)); X2=sum(T2(:)); G(i,j)=sqrt(X1^2+X2^2); end end %将计算结果调整到[0,255]的范围 Min = min(G(:)); Max = max(G(:)); s=255/(Max-Min); G = uint8((G-Min)*s);

新建一个test文件,调用一阶微分算子函数实现各种一阶微分算子,处理准备好的图像,代码如下:

 

clear;
F=imread('building.jpg')subplot(2,3,1),imshow(F);

%水平微分算子 Dx=[1 2 1;0 0 0;-1 -2 -1]; Dy=zeros(3,3); G=sharpen1(F,Dx,Dy); subplot(2,4,2),imshow(G); %垂直微分算子 Dx=zeros(3,3); Dy=[1 0 -1;2 0 -2;1 0 -1]; G=sharpen1(F,Dx,Dy); subplot(2,3,3),imshow(G); %sobel微分算子 Dx=[]; Dy=[1 0 -1;2 0 -2;1 0 -1]; G=sharpen1(F,Dx,Dy); subplot(2,3,3),imshow(G); %priwitt微分算子

 

 

 

 后续将继续更新

标签:imshow,Dy,微分,matlab,Dx,图像,基本操作,算子,图像增强
来源: https://www.cnblogs.com/tangjielin/p/16077988.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有