图象正反算子不能复原的问题
大侠们帮帮忙,帮我看一下这段代码x=imread('F:\1.bmp');
=size(x)
figure(1);
image(x);
y=dec2bin(x);
y1=bin2dec(y);
figure(2);
y1=reshape(y1,s,b);
image(y1);
我只是进行了一个反操作,按理说y1应该等于x呀,为什么两个显示出来的图像简直就不是一回事?
[ 本帖最后由 eight 于 2007-6-13 16:07 编辑 ] 原帖由 sbgeqh2007 于 2007-6-13 16:04 发表 http://www.chinavib.com/forum/images/common/back.gif
大侠们帮帮忙,帮我看一下这段代码
x=imread('F:\1.bmp');
=size(x)
figure(1);
image(x);
y=dec2bin(x);
y1=bin2dec(y);
figure(2);
y1=reshape(y1,s,b);
image(y1);
我只是进行了一个反操 ...
请保证输入图象并非RGB格式,否则矩阵 x 是三维的。这种错误其实自己调试一下就知道原因了
ps:不明白你使用 dec2bin 在干什么 虽然不明白你是什么目的,但是还是帮你做出来了
clear;
x=imread('1.bmp');
=size(x);
figure(1);
imshow(x);
y=dec2bin(x);
y1=bin2dec(y);
figure(2)
y1=reshape(uint8(y1),s,b);
imshow(y1);
运行后在命令行键入:
>> A=x-y1;
>> sum(A(:))
ans =
0
>>
说明二者是完全相等的
错误原因:数据类型不相同
[ 本帖最后由 花如月 于 2007-6-13 16:36 编辑 ]
页:
[1]