| 查看: 1409 | 回复: 1 | |||
彩虹猪新虫 (小有名气)
|
[求助]
ssr单尺度算法
|
|
求各位大神指点:谢谢 根据Retinex图像增强公式: S(x,y) = R(x,y)×L(x,y)??S为原图 R为要求的入射分量图 L为亮度图 取对数 log(S(x,y)) = log(R(x,y)) + log(L(x,y)); 定义一个高斯函数 G(x,y)=Ke^(-(x*x+y*y)/c*c)这里的c是卷积尺度c=80 并且一般设L(x,y)=G(x,y)*S(x,y);这里的*是卷积 然后得到增强后的图像log(R(x,y))= log(S(x,y))??+??log(G(x,y)*S(x,y) ); 我自己编写的程序如下:可是现实都不对啊 为什么呢 要不全黑 要么全白的 有没有高手指点一下 困扰很久了 clear all;clc; I=imread('bs.jpg'); R=I(:,:,1);%获取R通道 G=I(:,:,2);%获取G通道 B=I(:,:,3);%获取B通道 [m,n]=size(R);%获取图像大小 Rd=double(R);%R将整形转换为浮点型 Gd=double(G);%G将整形转换为浮点型 Bd=double(B);%B将整形转换为浮点型 Rlog=log(Rd+1);%R将浮点型转换为对数 Glog=log(Gd+1);%G将浮点型转换为对数 Blog=log(Bd+1);%B将浮点型转换为对数 fftr=fft2(Rd);%R二维离散傅立叶变换 fftg=fft2(Gd);%G二维离散傅立叶变换 fftb=fft2(Bd);%B二维离散傅立叶变换 %建立高斯函数进行卷积运算 c=80;%C是高斯环绕尺度,λ是一个尺度 s=zeros(m,n); for i=1:m ? ? for j=1:n ? ?? ???s(i,j)=exp(-(i*i+j*j)/c*c); ? ? end end K=s/(sum(sum(s)));%求归一化K g=K.*s;%高斯函数 g=double(g); g=fft2(g,size(g,1),size(g,2));%二维离散傅立叶变换 %Rc=conv(g,fftr);%R进行卷积运算,获得低频图像 %Gc=conv(g,fftg);%G进行卷积运算 %Bc=conv(g,fftb);%B进行卷积运算 Rc=g.*fftr;%R进行卷积运算,获得低频图像 Gc=g.*fftg;%G进行卷积运算 Bc=g.*fftb;%B进行卷积运算 iffRc=ifft2(Rc);%R傅里叶反转 iffGc=ifft2(Gc);%G傅里叶反转 iffBc=ifft2(Bc);%B傅里叶反转 Rclog=log(iffRc+1);%转换到对数域 Gclog=log(iffGc+1);%转换到对数域 Bclog=log(iffBc+1);%转换到对数域 gR=Rlog-Rclog;%用原图像减去地频图像 gG=Glog-Gclog;%用原图像减去地频图像 gB=Blog-Bclog;%用原图像减去地频图像 expR=exp(gR);%取反对数,得到增强的图像 expG=exp(gG);%取反对数,得到增强的图像 expB=exp(gB);%取反对数,得到增强的图像 %图像灰度拉伸 %此时的expR,G,B值的范围并不是0–255,所以还需要进行线性拉伸并转换成相应的格式输出显示 MIN = min(min(expR));%min(expR)求出每一列中最小的值min(min(expR))求出整个矩阵中最小的值 MAX = max(max(expR));%max(expR)求出每一列中最大的值max(max(expR))求出整个矩阵中最大的值 expR = (expR - MIN)/(MAX - MIN);%灰度变换增强 expR = adapthisteq(expR);%通过使用对比度限制的自适应直方图均衡化来增强灰度图像的对比度 MIN1 = min(min(expG));%min(expG)求出每一列中最小的值min(min(expG))求出整个矩阵中最小的值 MAX1 = max(max(expG));%max(expG)求出每一列中最大的值max(max(expG))求出整个矩阵中最大的值 expG = (expG - MIN1)/(MAX1 - MIN1);%灰度变换增强 expG = adapthisteq(expG);%通过使用对比度限制的自适应直方图均衡化来增强灰度图像的对比度 MIN2 = min(min(expB));%min(expB)求出每一列中最小的值min(min(expB))求出整个矩阵中最小的值 MAX2 = max(max(expB));%max(expB)求出每一列中最大的值max(max(expB))求出整个矩阵中最大的值 expB = (expB - MIN2)/(MAX2 - MIN2);%灰度变换增强 e 发自小木虫Android客户端 |
» 猜你喜欢
拟解决的关键科学问题还要不要写
已经有11人回复
救命帖
已经有5人回复
限项规定
已经有5人回复
为什么nbs上溴 没有产物点出现呢
已经有9人回复
招博士
已经有3人回复
存款400万可以在学校里躺平吗
已经有35人回复
最失望的一年
已经有18人回复
求推荐博导
已经有4人回复
求推荐英文EI期刊
已经有5人回复
疑惑?
已经有5人回复
2楼2018-10-14 15:57:57













回复此楼