Implement the following formula

How can I implement the following formula? Please write the code for it. Thanks.
y[n,m]= 1/3( x[n,m1] + x[n,m] + x[n,m+1] )

 Respuesta aceptada

Image Analyst
Image Analyst el 17 de Abr. de 2021
kernel = [1,1,1]/3;
y = conv(x, kernel, 'same'); % Convolution does that. All rows, one row at a time.
or
y(n, :) = movmean(x(n, :), 3); % For the nth row only.

2 comentarios

Sarah Maas
Sarah Maas el 17 de Abr. de 2021
I think the second one would work. However I'm using this for a grayscale image which I've converted to a matrix of values between 0 and 1.
And n and m are the independent variables (integer indices) indexing the pixels (matrix elements) along the vertical and horizontal dimensions of the image, respectively. Which i have obtained using the following (suppose A is the matrix):
n = size(A, 1);
m = size(A, 2);
How can I use this to define y and x for the equation above?
I suppose y can be:
y = zeros(n, m, 'logical');
But what about x? And is this approach correct?
Do you want to blur all the rows with a 1-by-3 array? If so you can use conv2 or imfilter
kernel = [1,1,1]/3;
y = conv(grayImage, kernel, 'same'); % Convolution does that. All rows, one row at a time.
y = imfilter(grayImage, kernel)
Or do you want to blur just the nth row and leave the other rows unchanged?

Iniciar sesión para comentar.

Más respuestas (1)

Alan Stevens
Alan Stevens el 17 de Abr. de 2021

0 votos

Change the square brackets, [ ], to curved brackets, ( ). Put a multiply sign, *, after the 3.

2 comentarios

Sarah Maas
Sarah Maas el 17 de Abr. de 2021
No, I need it in a sort of a for loop for each M
Image Analyst
Image Analyst el 17 de Abr. de 2021
OK, if you don't know how to do a for loop, then you have not even taken the most basic training on MATLAB. So follow this link and learn how to do simple things like for loops, if statements, assignments, referencing elements in an array, etc.:

Iniciar sesión para comentar.

Categorías

Más información sobre Image Processing and Computer Vision en Centro de ayuda y File Exchange.

Preguntada:

el 17 de Abr. de 2021

Comentada:

el 17 de Abr. de 2021

Community Treasure Hunt

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

Start Hunting!

Translated by