Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 66 ![]() |
![]()
a=imread('pic1.jpg'); b=0.25*a; c=4.0*b; figure; imshow(c); MSE = reshape(mean(mean(((a) - (c)).^2,2),1),[1,3]) 代码工作正常,没有任何错误。 a的大小是256 * 256 * 3 RGB类型。但是,有两个问题:
回答: 看一下变量a的数据类型。它可能是一个uint8,这意味着b也将成为包含舍入值的uint8-换句话说,您每个像素会丢失两位信息。 您提到了“双重数据类型”,但是我看不到在代码中使用它的位置。 如果您以a = double(imread('pix1.jpg'))开始;那么您的MSE应该接近零(我希望它的大小为256 * 256 * 3 * eps(即舍入误差))。 更多&回答... |
![]() |
![]() |