Iam trying to recreate a median filter and I am getting the above error at the line:
window(windrow,windcol) = img(row+windrow-window+1,col+windcol-window+1);
I am testing the function by calling it using this line: medianfilter(random,3)
where random is a random 4×4 integer array.
To me, it seems like the left side and right side of the assignment are both 1-by-1. See the full code below:
function medianfilter(img,windowsize)[m,n]=size(img);x = ones(m,n); window = zeros(windowsize,windowsize); for row = 1:1:m for col = 1:1:n for windrow = 1:1:windowsize for windcol = 1:1:windowsize if((row+windrow-windowsize+1 > 0) && (col+windcol-windowsize+1 > 0) && (row+windrow-windowsize+1 <= m) && (col+windcol-windowsize+1 <= n)) window(windrow,windcol) = img(row+windrow-window+1,col+windcol-window+1); end end end x(row,col) = median(window,'all'); endend
Best Answer