Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
初级会员
注册日期: 2008-03-29
年龄: 40
帖子: 1
声望力: 0 ![]() |
![]()
F=imread('f:\xy10082.jpg');
figure(1); imshow(F,[]); PSF=fspecial('motion',7,45); MF=imfilter(F,PSF,'circular'); noise=imnoise(zeros(size(F)),'gaussian',0,0.001); MFN=MF+noise; figure(2); imshow(MFN,[]); NSR=sum(noise( ![]() ![]() figure(3); imshow(deconvwnr(MFN,PSF),[]); figure(4); imshow(deconvwnr(MFN,PSF,NSR),[]); 我想在已知图像中添加运动模糊和高斯噪声,然后用维纳滤波器除去噪声,运行上面的程序后针对MFN=MF+noise出现如下错误:Integers can only be combined with integers of the same class, or scalar doubles. 请问为什么呢?谢谢! |
![]() |
![]() |
![]() |
#2 |
初级会员
注册日期: 2008-06-09
年龄: 37
帖子: 12
声望力: 17 ![]() |
![]()
图片信息为二维的,因此不能以相加来表示
如果想要两幅图片融合那么要分两种情况, 1 RGB 必须将图像拆分为三个向量矩阵 2 灰度图像可以用求和的方式但是必须矩阵阶数相同 你出现的问题在于你的两个矩阵定义的大小不一样,建议用空矩阵 |
![]() |
![]() |
![]() |
#3 |
初级会员
注册日期: 2008-11-15
年龄: 40
帖子: 3
声望力: 0 ![]() |
![]()
MFN=MF+noise;
这里相加的时候要注意, MF是uint8型的而noise是double的。 相加的时候要转换成double的最好。 |
![]() |
![]() |