0
I= 0.299*C1(:,:,1)+0.587*C1(:,:,2)+0.114*C1(:,:,3);
NumberOfGrayLevels=32;
I' =C ln (I+1);
new=uint8(mat2gray(I')*(NumberOfGrayLevels-1));

[m,n]= size(new);
rgb = zeros(m,n,3);
rgb(:,:,1) = new;
rgb(:,:,2) = rgb(:,:,1);
rgb(:,:,3) = rgb(:,:,1);
new = rgb/255;
imshow(new,[]);

no6=figure;
image(new);

这是图像生成的代码。错误在 I' = 。它表明 + 是错误的。

4

1 回答 1

0

我假设这是matlab。您在错误的行中缺少运算符:将第三行更改为: I=(C*ln(I+1))';

于 2013-02-14T23:40:25.550 回答