matlab做直方图均衡,下面的程序是局部直方图均衡,程序运行后的图像显示如下图,黑色部分灰度值均为1
局部直方图均衡方法步骤:首先定义一个大小合适的移动子图块,然后在以每个像素点为中心的子图块上进行直方图均衡化,并将处理结果代替相应子块中心点的灰度值clear;close...
局部直方图均衡方法步骤:首先定义一个大小合适的移动子图块,然后在以每个像素点为中心的子图块上进行直方图均衡化,并将处理结果代替相应子块中心点的灰度值
clear;
close all;
c=imread('lena.bmp'); %读取图像
figure,imshow(c),title('原始图象'); %显示原始图象
n=15;
a(1:n,1:n)=1; %a即n×n模板,元素全是1
%输入图像是p×q的,且p>n,q>n
x1=double(c);
x2=x1;
%A(a:b,c:d)表示A矩阵的第a到b行,第c到d列的所有元素
for i=1:512-n+1
for j=1:512-n+1
m=x1(i:i+(n-1),j:j+(n-1)).*a(1:n,1:n); %取出x1中从(i,j)开始的n行n列元素与模板相乘
k=histeq(m);%对块图进行直方图均衡
x3=double(k);
x2(i,j)=x3(8,8); %将均衡后中心点的像素值赋给原图对应点的元素
end
end
%未被赋值的元素取原值
d=uint8(x2);
figure,imshow(d),title('均衡后的图像'); %显示均衡后的图象
应该如何修改,请高手指教 展开
clear;
close all;
c=imread('lena.bmp'); %读取图像
figure,imshow(c),title('原始图象'); %显示原始图象
n=15;
a(1:n,1:n)=1; %a即n×n模板,元素全是1
%输入图像是p×q的,且p>n,q>n
x1=double(c);
x2=x1;
%A(a:b,c:d)表示A矩阵的第a到b行,第c到d列的所有元素
for i=1:512-n+1
for j=1:512-n+1
m=x1(i:i+(n-1),j:j+(n-1)).*a(1:n,1:n); %取出x1中从(i,j)开始的n行n列元素与模板相乘
k=histeq(m);%对块图进行直方图均衡
x3=double(k);
x2(i,j)=x3(8,8); %将均衡后中心点的像素值赋给原图对应点的元素
end
end
%未被赋值的元素取原值
d=uint8(x2);
figure,imshow(d),title('均衡后的图像'); %显示均衡后的图象
应该如何修改,请高手指教 展开
1个回答
展开全部
追问
类型昨天然后已经调好了,边界应该怎么处理下?
追答
扩展边界。I=wextend('2D','sym',I,(w-1)/2);w=15。
在下面的循环开始处做相应的调整:
for i=(w+1)/2:m-(w-1)/2
for j=(w+1)/2:n-(w-1)/2 %%m,n为图片大小。
最后计算完后,再取回原图形的尺寸即可:
I2=I((w+1)/2:m-(w-1)/2,(w+1)/2:n-(w-1)/2); %%得到处理后的原图(没有扩展的)。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
你的代码是按行列搜索,所以扩展后的序号改写如下:
clear;
close all;
c=imread('D:\matlab7.1\toolbox\images\imdemos\cameraman.tif'); %读取图像
figure,imshow(c),title('原始图象'); %显示原始图象
n=15;
a(1:n,1:n)=1; %a即n×n模板,元素全是1
%输入图像是p×q的,且p>n,q>n
c1=wextend('2D','sym',c,n);%%扩展
x1=double(c1);
[M,N]=size(c1);%%得到扩展后的图像大小
x2=x1;
%A(a:b,c:d)表示A矩阵的第a到b行,第c到d列的所有元素
for i=n+1:M-n
for j=n+1:N-n %%循环条件改动,从16开始
m=x1(i:i+(n-1),j:j+(n-1)).*a(1:n,1:n); %取出x1中从(i,j)开始的n行n列元素与模板相乘
k=histeq(uint8(m));%对块图进行直方图均衡
x3=double(k);
x2(i,j)=x3(8,8); %将均衡后中心点的像素值赋给原图对应点的元素
end
end
%未被赋值的元素取原值
d1=x2(n+1:M-n,n+1:N-n);%%均衡化后,取原图像大小
d=uint8(d1);
figure,imshow(d),title('均衡后的图像'); %显示均衡后的图象
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询