Implement the following formula
조회 수: 5 (최근 30일)
이전 댓글 표시
How can I implement the following formula? Please write the code for it. Thanks.
y[n,m]= 1/3( x[n,m−1] + x[n,m] + x[n,m+1] )
댓글 수: 0
채택된 답변
Image Analyst
2021년 4월 17일
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
Image Analyst
2021년 4월 17일
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?
추가 답변 (1개)
Alan Stevens
2021년 4월 17일
Change the square brackets, [ ], to curved brackets, ( ). Put a multiply sign, *, after the 3.
댓글 수: 2
Image Analyst
2021년 4월 17일
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.:
참고 항목
카테고리
Help Center 및 File Exchange에서 Image Processing and Computer Vision에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!