声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1357|回复: 2

[图像处理] 图象正反算子不能复原的问题

[复制链接]
发表于 2007-6-13 16:04 | 显示全部楼层 |阅读模式

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

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

x
大侠们帮帮忙,帮我看一下这段代码

x=imread('F:\1.bmp');
[s,b]=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 编辑 ]
回复
分享到:

使用道具 举报

发表于 2007-6-13 16:06 | 显示全部楼层
原帖由 sbgeqh2007 于 2007-6-13 16:04 发表
大侠们帮帮忙,帮我看一下这段代码

x=imread('F:\1.bmp');
[s,b]=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 在干什么
发表于 2007-6-13 16:26 | 显示全部楼层
虽然不明白你是什么目的,但是还是帮你做出来了
clear;
x=imread('1.bmp');
[s,b]=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 编辑 ]
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-12-12 13:42 , Processed in 0.052293 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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