‘壹’ 数字图像处理:如果图像灰度不均匀,如何求得最佳分割效果
1.自适应Gamma矫正法
2.移动平均法
3.Retinex增强法
4.局部阈值分割法
······
很明显师大光信的
‘贰’ 有谁matlab写过基于自适应滤波的Retinex图像增强算法
根据最后一个公式计算w(x,y), 实际上就是计算梯度水平(水平和垂直方向两个方向综合)
I = imread('test3.jpg'); %读入图象
subplot(121);imshow(I);
I = double(rgb2gray(I));
[m,n]=size(I);
H1 = [-1 -2 -1
0 0 0
1 2 1];
H2 = [-1 0 1
-2 0 2
-1 0 1];
w0 = (abs(conv2(I,double(H1),'same')) + abs(conv2(I,double(H1),'same')))/2+ones(m,n);
subplot(122);imshow(uint8(w0));
w = 1./w0;
‘叁’ 同态滤波与基于retinex理论的去雾有什么区别
同态滤波简介: 同态滤波是把频率过滤和灰度变换结合起来的一种图像处理方法,它依靠图像的照度/ 反射率模型作为频域处理的基础,利用压缩亮度范围和增强对比度来改善图像的质量。使用这种方法可以使图像处理符合人眼对于亮度响应的非线性特性
‘肆’ retinex算法如何用中那个高斯核取多大
上式中*代表卷积,G(x,y)代表高斯核,最后我们看到的图像是对R(x,y)映射到[0,255]上的结果,一般取线性映射。
‘伍’ retinex比1296的好吗
retinex好一点。
Retinex是一种常用的建立在科学实验和科学分析基础上的图像增强方法,它是Edwin.H.Land于1963年提出的。就跟Matlab是由Matrix和Laboratory合成的一样,Retinex也是由两个单词合成的一个词语,他们分别是retina和cortex,即视网膜和皮层。
Land的retinex模式是建立在以下三个假设之上的,真实世界是无颜色的,我们所感知的颜色是光与物质的相互作用的结果。我们见到的水是无色的,但是水膜—肥皂膜却是显现五彩缤纷,那是薄膜表面光干涉的结果。每一颜色区域由给定波长的红,绿,蓝三原色构成的,三原色决定了每个单位区域的颜色。Retinex理论的基础理论是物体的颜色是由物体对长波(红色),中波(绿色),短波(蓝色)光线的反射能力来决定的,而不是由反射光强度的绝对值来决定的,物体的色彩不受光照非均匀性的影响,具有一致性,即retinex是以色感一致性(颜色恒常性)为基础的。
‘陆’ 请高手帮忙看下,matlab中为什么显示的彩色图像全白
你再加上归一化去除加性分量试试
‘柒’ 本人毕业设计做的是基于Retinex算法研究,急需SSR,MSR,Mccann的Matlab仿真代码。要能运行的。
太多了太多了 只贴一个把
%Retinex的MSR实现图像增强的代码,可运行,
f=imread('c.jpg');
fr=f(:, :, 1); fg=f(:, :, 2); fb=f(:, :,
3);%RGB通道
mr=mat2gray(im2double(fr)); mg=mat2gray(im2double(fg));
mb=mat2gray(im2double(fb));%数据类型归一化
alf1=1458;
%定义标准差alf=a^2/2 a=54
n=161;%定义模板大小
n1=floor((n+1)/2);%计算中心
for i=1:n
for j=1:n
b(i,j)
=exp(-((i-n1)^2+(j-n1)^2)/(4*alf1))/(pi*alf1); %高斯函数
end
end
nr1
= imfilter(mr,b,'conv', 'replicate');ng1 = imfilter(mg,b,'conv',
'replicate');nb1 = imfilter(mb,b,'conv', 'replicate');%卷积滤波
ur1=log(nr1);
ug1=log(ng1);
ub1=log(nb1);
tr1=log(mr);tg1=log(mg);tb1=log(mb);
yr1=(tr1-ur1)/3;yg1=(tg1-ug1)/3;yb1=(tb1-ub1)/3;
alf2=53.38;
%定义标准差alf=a^2/2 a=10.3325
x=31;%定义模板大小
x1=floor((n+1)/2);%计算中心
for
i=1:n
for j=1:n
a(i,j)
=exp(-((i-n1)^2+(j-n1)^2)/(4*alf2))/(6*pi*alf2); %高斯函数
end
end
nr2 = imfilter(mr,a,'conv', 'replicate');ng2 = imfilter(mg,a,'conv',
'replicate');nb2 = imfilter(mb,a,'conv', 'replicate');%卷积滤波
ur2=log(nr2);
ug2=log(ng2);
ub2=log(nb2);
tr2=log(mr);tg2=log(mg);tb2=log(mb);
yr2=(tr2-ur2)/3;yg2=(tg2-ug2)/3;yb2=(tb2-ub2)/3;
alf3=13944.5;
%定义标准差alf=a^2/2 a=167
l=501;%定义模板大小
l1=floor((n+1)/2);%计算中心
for
i=1:n
for j=1:n
e(i,j)
=exp(-((i-n1)^2+(j-n1)^2)/(4*alf3))/(4*pi*alf3); %高斯函数
end
end
nr3 = imfilter(mr,e,'conv', 'replicate');ng3 = imfilter(mg,e,'conv',
'replicate');nb3 = imfilter(mb,e,'conv', 'replicate');%卷积滤波
ur3=log(nr3);
ug3=log(ng3);
ub3=log(nb3);
tr3=log(mr);tg3=log(mg);tb3=log(mb);
yr3=(tr3-ur3)/3;yg3=(tg3-ug3)/3;yb3=(tb3-ub3)/3;
dr=yr1+yr2+yr3;dg=yg1+yg2+yg3;db=yb1+yb2+yb3;
cr=im2uint8(dr); cg=im2uint8(dg); cb=im2uint8(db);
z=cat(3, cr, cg,
cb);
figure, imshow(z)
‘捌’ opencv图像增强不会写调用 大家帮忙写个调用,我实在不懂这个。。谢啦!
MultiScaleRetinexCR(cvLoadimage("lena.jpg"), 3, *w, *si, 3, 3, 3, 3)
举了个例子,图像可以换成别的,数字也自己改
*w是指向你自己设置的权重向量的指针,*si是指向另一个sigma向量的指针,也是你自己设置的。两个向量的元素都是double型的,长度是你填的第一个数字+1(这里是4)
‘玖’ retinex算法为什么不能处理地址
前一段时间研究了一下图像增强算法,发现Retinex理论在彩色图像增强、图像去雾、彩色图像恢复方面拥有很好的效果,下面介绍一下我对该算法的理解。
Retinex理论
Retinex理论始于Land和McCann于20世纪60年代作出的一系列贡献,其基本思想是人感知到某点的颜色和亮度并不仅仅取决于该点进入人眼的绝对光线,还和其周围的颜色和亮度有关。Retinex这个词是由视网膜(Retina)和大脑皮层(Cortex)两个词组合构成的.Land之所以设计这个词,是为了表明他不清楚视觉系统的特性究竟取决于此两个生理结构中的哪一个,抑或是与两者都有关系。
Land的Retinex模型是建立在以下的基础之上的:
一、真实世界是无颜色的,我们所感知的颜色是光与物质的相互作用的结果。我们见到的水是无色的,但是水膜—肥皂膜却是显现五彩缤纷,那是薄膜表面光干涉的结果;
二、每一颜色区域由给定波长的红、绿、蓝三原色构成的;
三、三原色决定了每个单位区域的颜色。
Retinex 理论的基本内容是物体的颜色是由物体对长波(红)、中波(绿)和短波(蓝)光线的反射能力决定的,而不是由反射光强度的绝对值决定的;物体的色彩不受光照非均性的影响,具有一致性,即Retinex理论是以色感一致性(颜色恒常性)为基础的。如下图所示,观察者所看到的物体的图像S是由物体表面对入射光L反射得到的,反射率R由物体本身决定,不受入射光L变化。