• 大小: 0.04M
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-03-27
  • 语言: Matlab
  • 标签: matlab  

资源简介


针对图像中亮度暗的部分进行增强,而其他部分保持不变,参考冈萨雷斯图像处理钨丝图像处理的例子写出的程序,对图像进行增强,达到了很好的效果。

资源截图

代码片段和文件信息

clearclc;
I=imread(‘imageRao.bmp‘);%读图
f=double(I);%将原图转为double型
[mn]=size(I);%设定原图为m*n的矩阵
M=mean2(I);D=std2(I);%计算整体均值和方差

k1=0.4;
k2=0.02;
k3=0.4;
E=4.0;%k1,k2,k3,E为设定的阈值

Mloc=zeros(mn);%设一个m*n的0矩阵,后面计算的3*3领域的均值放在此矩阵内
Dloc=zeros(mn);%设一个m*n的0矩阵,后面计算的3*3领域的房车放在此矩阵内
for i=2:m-1
    for j=2:n-1
      Mloc(ij)=(f(i-1j-1)+f(i-1j)+f(i-1j+1)+f(ij-1)+f(ij)+f(ij+1)...
          +f(i+1j-1)+f(i+1j)+f(i+1j+1))/9; %计算原图中3*3领域内的均值
      
      Dloc(ij)=((f(i-1j-1)-Mloc(ij))^2+(f(i-1j)-Mloc(ij))^2+(f(i-1j+1)-Mloc(ij))^2+...
      (f(ij-1)-Mloc(ij))^2+(f(ij+1)-Mloc(ij))^2+(f(i+1j-1)-Mloc(ij))^2+...
          (f(i+1j)-Mloc(ij))^2+(f(i+1j+1)-Mloc(ij))^2)^(1/2); %计算原图中3*3领域内的方差     
    end
end       

g=zeros(mn);%设定一个m*n的0矩阵,用于产生增强的图像
for i=1:m
    for j=1:n
if (Mloc(ij)<=k1*M) && (Dloc(ij)>=k2*D) && (Dloc(ij)<=k3*D)
      g(ij)=E*f(ij);
%满足原图中3*3领域内的平均像素小于整体平均像素*阈值k1,
%且满足3*3领域内方差在阈值k2*整体平均方差与阈值k3*整体平均方差之间的像素,
%我们将这样的像素乘以阈值E,达到较暗部分

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      76174  2010-12-09 11:29  imageRao.bmp

     文件       1433  2010-12-27 12:24  zengqiang.m

----------- ---------  ---------- -----  ----

                77607                    2


评论

共有 条评论