how to built mean filter without padding ?

3 次查看(过去 30 天)
i want this mean filter without padding and padding by replication .here in my code i have done padding with 1
a = input('Please input the matrix like "[1, 2; 3, 4]":');
% mf= ones(3,3)
% meanA = mean(A(:))
a1= padarray(a,[1 1],1)
[m n]=size(a1);
c=zeros(size(a));
for i=2:(m-1)
for j =2:(n-1)
v=a1(i-1:i+1,j-1:j+1)
vrow= v(:)'
r= median(v(:));
c(i-1,j-1)=ceil(r)
end
end
what modification do i need for this?
  1 个评论
DGM
DGM 2021-8-22
If you want to pad by replication, use the 'replicate' flag with padarray(). If you want to do the filtering without padding, you'll need to adjust your indexing limits accordingly, and you'll need to truncate your filter window as you operate near the image edges. Obviously, that sort of complication is why it's simpler to just use padding.

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Multidimensional Arrays 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by