声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2518|回复: 2

[图像处理] 在Matlab中如何实现灰度图区间灰度赋值?

[复制链接]
发表于 2005-10-19 21:22 | 显示全部楼层 |阅读模式

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

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

x
例如:
灰度区间为[150 200], 则凡是灰度值小于150的点都赋值为0, 凡是灰度值大于200的都赋值为255, 在[150 200]区间内的灰度值不变.
如果某像素点的灰度值为(125,125,1225)则应该更改为(0,0,0),如果某点的灰度值为(205,205,205)则应更改为(255,255,255),如果像素点的灰度值为(180,180,180)则不变。
该如何实现呢? 用什么命令呢? 我用imshow(I,[150 200]没有实现.

难道需要对每个像素点作灰度值大小判断吗? 有没有简单一点的办法?

[ 本帖最后由 ChaChing 于 2010-7-11 13:01 编辑 ]
回复
分享到:

使用道具 举报

发表于 2005-10-20 11:19 | 显示全部楼层

回复:(gxqcdit)高手进啊: 在Matlab中如何实现灰度图...

    IMSHOW(I,[LOW HIGH]) displays I as a grayscale intensity<BR>    image, specifying the data range for I. The value LOW (and<BR>    any value less than LOW) displays as black, the HIGH (and any<BR>    value greater than HIGH) displays as white, and values in<BR>    between display as intermediate shades of gray. IMSHOW uses<BR>    the default number of gray levels. If you use an empty matrix<BR>    ([]) for [LOW HIGH], IMSHOW uses [min(I(:)) max(I(:))]; the<BR>    minimum value in I displays as black, and the maximum value<BR>    displays as white.<BR><BR>根据说明是可以的,但是我试了一下也不行<BR>而且不光是IMSHOW(I,[LOW HIGH]) 不行<BR>imshow其他好多的显示方式都不行,郁闷死了
 楼主| 发表于 2005-10-20 11:35 | 显示全部楼层
同感,同感!

我用下列代码尝试,还是不行,还是原图没变。
I=imread('E:\\1.bmp');
imshow(I,[150 200]);

有谁知道怎么弄?

为何原图中(0,0,0)的点处理后变为(1,0,0)???

[ 本帖最后由 ChaChing 于 2010-7-11 13:00 编辑 ]
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-21 01:38 , Processed in 0.081851 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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