Tonghanyu 发表于 2006-11-30 18:44

用imnoise出现的问题

出现以下错误:
??? Error using ==> imnoise
A double-class image must have values between zero and one.
怎么解决?

eight 发表于 2006-11-30 19:32

原帖由 Tonghanyu 于 2006-11-30 18:44 发表
出现以下错误:
??? Error using ==> imnoise
A double-class image must have values between zero and one.
怎么解决?


按照它的提示规范化一下就可以了

Tonghanyu 发表于 2006-11-30 19:34

能具体一些吗?谢谢

[ 本帖最后由 sigma665 于 2008-6-7 13:10 编辑 ]

eight 发表于 2006-11-30 19:39

原帖由 Tonghanyu 于 2006-11-30 19:34 发表
能具体一些马?谢谢

假设你的图像数据是存放在矩阵A中,并且没有负值,则:
A = A/max(A(:));

Tonghanyu 发表于 2006-11-30 19:47

谢谢

renrj 发表于 2006-12-21 13:53

QUOTE:
原帖由 Tonghanyu 于 2006-11-30 19:34 发表
能具体一些吗?谢谢
假设你的图像数据是存放在矩阵A中,并且没有负值,则:
A = A/max(A(:));


用这种方法是将原矩阵元素变为或者是0或者是1,而用A=im2double(A);就可以满足the values between zero and one 的 要求了。

eight 发表于 2006-12-22 11:02

原帖由 renrj 于 2006-12-21 13:53 发表
QUOTE:
原帖由 Tonghanyu 于 2006-11-30 19:34 发表
能具体一些马?谢谢
假设你的图像数据是存放在矩阵A中,并且没有负值,则:
A = A/max(A(:));


用这种方法是将原矩阵元素变为或者是0或者是1,而用A ...


这种方法是将原矩阵元素变为或者是0或者是1——不可能吧,matlab和C语言可不一样,如果是c语言,上面操作的确是用整形执行,但是matlab,计算时候都是浮点精度的

hyl2323 发表于 2006-12-22 13:00

同意楼上的

kasim 发表于 2008-6-7 10:58

回复 6楼 的帖子

如果图像是复振幅的,就是每个点的值都是复数,好像也不能执行,请问这样的话应该怎么办?
页: [1]
查看完整版本: 用imnoise出现的问题