声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 5680|回复: 12

[图像处理] 请教:图象如何取反

[复制链接]
发表于 2007-5-25 18:10 | 显示全部楼层 |阅读模式

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

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

x
在MATLAB中如何对图象进行反色处理?没有用过,请教大侠

>> [X,map]=imread('D:\pic\UF2006325103210.jpg');
>> map=[[0:1/256:255/256]',[0:1/256:255/256]',[0:1/256:255/256]'];
>> X=uint(255-double(X));
>> imshow(X,map)
Warning: Displaying real part of complex input
> In D:\MATLAB6p5\toolbox\images\images\imshow.m (ParseInputs) at line 503
  In D:\MATLAB6p5\toolbox\images\images\imshow.m at line 90
??? Error using ==> real
Function 'real' is not defined for values of class 'struct'.

Error in ==> D:\MATLAB6p5\toolbox\images\images\imshow.m (ParseInputs)
On line 504  ==>     cdata = real(cdata);

Error in ==> D:\MATLAB6p5\toolbox\images\images\imshow.m
On line 90  ==> [imtype, cdata, cdatamapping, clim, map, xdata, ydata, filename, ...

谁能告诉最后一步错误原因是什么?谢谢了

[ 本帖最后由 zxbmh 于 2007-5-25 19:07 编辑 ]
回复
分享到:

使用道具 举报

发表于 2007-5-25 18:14 | 显示全部楼层
你是指将黑底白图的转换为白底黑图吗?
 楼主| 发表于 2007-5-25 18:19 | 显示全部楼层
黑白的我会了,想知道各种颜色都反色的
发表于 2007-5-25 18:19 | 显示全部楼层
 楼主| 发表于 2007-5-25 18:23 | 显示全部楼层
[X.map]=imread('D:\pic\UF2006325103210.jpg')

X =

    map: [367x455x3 uint8]

>> imshow(I)
>> [X,map]=imread('D:\pic\UF2006325103210.jpg');
>> map=[[0:1/256:255/256]',[0:1/256:255/256]',[0:1/256:255/256]'];
>> X=unit8(255-double(X));
??? Undefined function or variable 'unit8'.

>> X=255-double(X);
>> imshow(X,map)
??? Error using ==> image
TrueColor CData contains element out of range 0.0 <= value <= 1.0.

Error in ==> D:\MATLAB6p5\toolbox\images\images\imshow.m
On line 104  ==> hh = image(xdata, ydata, cdata, 'BusyAction', 'cancel', ...
找到这段程序,出现这种错误,知道为什么吗?
发表于 2007-5-25 18:28 | 显示全部楼层
原帖由 zxbmh 于 2007-5-25 18:23 发表
[X.map]=imread('D:\pic\UF2006325103210.jpg')

X =

    map: [367x455x3 uint8]

>> imshow(I)
>> [X,map]=imread('D:\pic\UF2006325103210.jpg');
>> map=[[0:1/256:255/256]',[0:1/256:255/256]' ...


1. 是 uint ,不是 unit
2. help imshow
 楼主| 发表于 2007-5-25 18:28 | 显示全部楼层
可以写完整一点的程序吗?这个也不知道怎么用?谢谢了:@D
 楼主| 发表于 2007-5-25 18:31 | 显示全部楼层
原帖由 eight 于 2007-5-25 18:28 发表


1. 是 uint ,不是 unit
2. help imshow

第一条什么意思?不是一样吗?
发表于 2007-5-25 18:33 | 显示全部楼层
原帖由 zxbmh 于 2007-5-25 18:31 发表

第一条什么意思?不是一样吗?



仔细仔细仔细看
 楼主| 发表于 2007-5-25 18:39 | 显示全部楼层
看清楚了,:handshake 谢了.imshow那个可以提下吗?英文的实在..:@L
 楼主| 发表于 2007-5-25 19:02 | 显示全部楼层
>> [X,map]=imread('D:\pic\UF2006325103210.jpg');
>> map=[[0:1/256:255/256]',[0:1/256:255/256]',[0:1/256:255/256]'];
>> X=uint(255-double(X));
>> imshow(X,map)
Warning: Displaying real part of complex input
> In D:\MATLAB6p5\toolbox\images\images\imshow.m (ParseInputs) at line 503
  In D:\MATLAB6p5\toolbox\images\images\imshow.m at line 90
??? Error using ==> real
Function 'real' is not defined for values of class 'struct'.

Error in ==> D:\MATLAB6p5\toolbox\images\images\imshow.m (ParseInputs)
On line 504  ==>     cdata = real(cdata);

Error in ==> D:\MATLAB6p5\toolbox\images\images\imshow.m
On line 90  ==> [imtype, cdata, cdatamapping, clim, map, xdata, ydata, filename, ...

谁能告诉最后一步错误原因是什么?谢谢了
发表于 2007-5-25 19:11 | 显示全部楼层
原帖由 zxbmh 于 2007-5-25 19:02 发表
>> [X,map]=imread('D:\pic\UF2006325103210.jpg');
>> map=[[0:1/256:255/256]',[0:1/256:255/256]',[0:1/256:255/256]'];
>> X=uint(255-double(X));
>> imshow(X,map)
Warning: Displaying real part of ...



imshow(X,map) displays the indexed
image X with the colormap map. A color
map matrix may have any number of rows, but it must have exactly 3 columns.
Each row is interpreted as a color, with the first element specifying the
intensity of red light, the second  green, and the third blue. Color intensity
can be specified on the interval 0.0 to 1.0.

用金山词霸相信足可以搞定
 楼主| 发表于 2007-5-25 19:21 | 显示全部楼层
基本上是看懂了,可是还是不知道程序错在哪里,不是我的?
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-14 04:46 , Processed in 0.076950 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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