WSJ116522190 发表于 2007-6-2 21:13

大侠帮挑错

这是一个灰度变换的程序,写完了总是出错
大侠们帮看看


I=imread('D:\学习\22.jpg');
imshow(I)
title('原始图象')
B=imhist(I,256) ;
for i=1:256
    if i<64
         N(i)=8+(-3/32)*i;
   Fd(i)=0;
      else if i>192
                N(i)=(1/64)*i-1;
     Fd(i)=1;
                else if 64<i<192
                        N(i)=2;
        Fd(i)=i/128-0.5;
                  end
            end
      end
Fr(i)=N(i)/8;
Q(i)=Fr(i)*Fd(i);
end
P=Q';
for i=1:256
A(i)=B(i)*P(i);
end
imshow(A)
title('处理后的图象')

其中Q(i)是灰度权数

Tla 发表于 2007-6-2 23:13

把你使用的图片也给传上来看看吧, imhist似乎只对 gray \Index 等图起作用,也就是说如果你读的图片是 RGB 的话,用 imhist 应该会出错..要先rgb2gray一下再用 imhist,(估计是这个样子的)

eight 发表于 2007-6-2 23:19

原帖由 WSJ116522190 于 2007-6-2 21:13 发表 http://www.chinavib.com/forum/images/common/back.gif
这是一个灰度变换的程序,写完了总是出错
大侠们帮看看


I=imread('D:\学习\22.jpg');
imshow(I)
title('原始图象')
B=imhist(I,256) ;
for i=1:256
    if i192
                N(i)=(1/64)*i-1;
...

建议楼主先看看本版置顶贴:聚宝盆,然后重新整理你的问题,特别留意把出错信息补上
页: [1]
查看完整版本: 大侠帮挑错