matrix Dimension Must Agree

please some suggest me Where I am going wrong, I want to add periodic noise in my Image
if true
tw=imread('twins.tif');
t=rgb2gray(tw);
%Creating Periodic noise
s=size(t);
[x,y]=meshgrid(1:s(1),1:s(2));
p=(sin(x/3+y/5)+1);
t_pn=(im2double(t)+(p/2)/2);
imshow(t),figure,imshow(t_pn);
% code
end

2 个评论

Which line is the problem appearing on?
Error using +
Matrix dimensions must agree.
Error in saltpepper (line 14)
t_pn=(im2double(t)+(p/2)/2);

请先登录,再进行评论。

 采纳的回答

Without more information about your image size, which you don't provide, it's hard to say, but try transposing the p matrix as I've done below:
tw=imread('twins.tif');
t=rgb2gray(tw);
%Creating Periodic noise
s=size(t);
[x,y]=meshgrid(1:s(1),1:s(2));
p=(sin(x/3+y/5)+1)';
t_pn=(im2double(t)+(p/2)/2);

3 个评论

Ah, or using ndgrid() instead of meshgrid() and not doing the transpose.
Worked !!!! Thanks a lot, can you Please Tell me how could you figure out this trick.
Glad it worked, not a trick, I think Walter's comment is instructive here.

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Image Processing Toolbox 的更多信息

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by