数学建模社区-数学中国

标题: 同样的函数,却因为带入值是形参和实参的不同结果不同,想不通啊!! [打印本页]

作者: 雪凌寒霜    时间: 2013-3-31 09:43
标题: 同样的函数,却因为带入值是形参和实参的不同结果不同,想不通啊!!
有个问题想请教下大家,希望用matlab做过图像处理的老师,同学帮个忙:
) n. F) A2 U0 T) O& C
2 {1 f" {2 M1 h4 ^+ z/ a) R问题是这样的,我用imread函数读到一张jpg格式的图片,存储成RGB格式的m*n*3的矩阵,然后对每个像素点做一个颜色的转化,思想很简单,但是这个exchange函数出现了一个让我很不解的问题,如下图,存储图片颜色数据的矩阵叫picture,在这样用矩阵的值进入函数时,得不到正确结果,导致最后的结果就出不来;我仔细检查过,错误就是出现在了这个函数这6 X$ `  g* o4 D7 L
B3[YG}]}2CE@J`]Q)%@U1_N.jpg & d5 K- ?( K) K7 E- j
如果得到这个值,然后手动的将实参放到函数里就可以得到正确结果了! P/ P4 O1 S7 I7 B! Q# e
个人觉得应该是形参和实参在函数中的一些用法我不知道,希望大家帮忙检查下
- u1 W7 l( b1 k2 Y, A4 L QQ图片20130331094044.jpg + U; a4 M& X$ F- I$ O

作者: haoyongle    时间: 2013-3-31 10:32
应该是color_set中又对picture中的值进行了赋值
作者: 雪凌寒霜    时间: 2013-4-4 10:39
haoyongle 发表于 2013-3-31 10:32 ! @9 S5 y, v6 v3 S* }* o
应该是color_set中又对picture中的值进行了赋值
  S, @* j9 j$ ?. a( R. k
谢谢你对帖子的关注,这个问题我已经解决了,虽然过程很艰辛。问题出在了图形读取到的数据是保存为uint8的,直接做加减运算是会有溢出的。之前没发现可能是我举的例子恰好没有溢出罢了




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5