声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1473|回复: 8

[图像处理] 求助:关于二值图的还原问题?

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

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

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

x
我将一幅rgb的图象显示为了二值图,
我现在只想让二值图中1的部分(白色的部分)对应的原图显示出来,怎么弄
知道用循环函数能够解决,可就是不知道怎么编写,请各位版主帮忙:@(
回复
分享到:

使用道具 举报

发表于 2007-7-15 13:56 | 显示全部楼层
呵呵,我不是什么版主。试了以下,就这么点功力
clear all
I=imread('521.jpg');
X=rgb2gray(I);
BW=im2bw(X,0.8);
Tem=uint8(BW);
I1(:,:,1)=I(:,:,1).*Tem;
I1(:,:,2)=I(:,:,2).*Tem;
I1(:,:,3)=I(:,:,3).*Tem;
subplot(121),imshow(I),title('原图')
subplot(122),imshow(I1),title('处理后图')
对应二值图像的白色部分正常,黑色部分就用黑色显示了。可以根据你的需要改进,希望对你有所帮助。
temp.JPG

评分

1

查看全部评分

 楼主| 发表于 2007-7-15 17:22 | 显示全部楼层
:victory:
谢谢!
发表于 2007-7-18 08:53 | 显示全部楼层
??? Error using ==> .*
Function '.*' is not defined for values of class 'uint8'.

On line 6  ==> I1(:,:,1)=I(:,:,1).*Tem;
是怎么回事啊,我是新手
发表于 2007-7-18 09:14 | 显示全部楼层
class I看一下你图像矩阵的类型。I1(:,:,1)=I(:,:,1).*Tem;运算的时候要保证Tem和I类型相同才可以运算。这个程序在我电脑上完全没有问题,只是类型匹配的问题。不算什么大问题,自己动手调试下就可以了。
发表于 2007-7-18 09:50 | 显示全部楼层
两个的class 是一样的啊
发表于 2007-7-18 10:53 | 显示全部楼层

回复 #6 dream007 的帖子

你用的是什么版本?
发表于 2007-7-18 12:14 | 显示全部楼层
6.5.1
发表于 2007-7-19 14:39 | 显示全部楼层


自己调试一下看看哪个变量是 uint8 的,然后在该变量前面强制转换一下,即 double(A)
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-6-17 19:39 , Processed in 0.068232 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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