声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1405|回复: 4

[图像处理] 帮忙看看这段代码,谢谢

[复制链接]
发表于 2007-5-22 11:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
以下是一个关于Retinex算法的代码:
I=imread('1.jpg');
I=rgb2gray(I);
if(isgray(I))%判断是否为灰度图像
I=double(I)/255;
I=log(I);
[M N]=size(I);
constant=128;%mean2(I)
  h=floor(M/2);
  v=floor(N/2);
while(h>=1&v>=1)
for x=0:M-1
for y=0:N-1
   R_lightness(x,y)=log(I(x+h,y))-log(I(x,y));
   lightness(x,y)=constant+R_lightness(x,y);
  
   R_lightness(x,y)=log(I(x,y+v))-log(I(x,y));
   lightness(x,y)=constant+R_lightness(x,y);
  end
end
h=floor(h/2);
   v=floor(v/2);
end
high=max(max(lightness));
low=min(min(lightness));
for x=0:M-1
for y=0:N-1
L(x,y)=((lightness(x,y)-max)/(max-min))*255;
end
end
imshow(uint8(L),[]);
end
运行结果成了这样了:
Warning: Log of zero.
??? Subscript indices must either be real positive integers or logicals.
请高手指教一下,谢谢!
回复
分享到:

使用道具 举报

发表于 2007-5-22 11:22 | 显示全部楼层
仔细检查 Log 函数里面的参数。  也没有什么高招了。

评分

1

查看全部评分

发表于 2007-5-22 13:03 | 显示全部楼层


所言极是,没有数据文件,别人根本不能帮你测试,况且,这些越界问题自己调试一下就可以了
发表于 2007-5-22 13:28 | 显示全部楼层
原帖由 yishionyang 于 2007-5-22 11:08 发表
以下是一个关于Retinex算法的代码:
I=imread('1.jpg');
I=rgb2gray(I);
if(isgray(I))%判断是否为灰度图像
I=double(I)/255;
I=log(I);
[M N]=size(I);
constant=128;%mean2(I)
  h=floor(M/2);
  v= ...



x,y 不能从0开始的

评分

1

查看全部评分

 楼主| 发表于 2007-5-24 08:41 | 显示全部楼层
谢谢各位,问题暂时解决了,但是就是处理效果不大好
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-12 11:57 , Processed in 0.090664 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表