how to correct the error in finding neighbor pixels in an 3x3 window? how many input arguments for an max() function have?
    조회 수: 4 (최근 30일)
  
       이전 댓글 표시
    
 I=[2 3 10 4 6; 1 4 7 5 3; 5 2 8 4 3;8 2 1 7 3;1 9 8 3 4;];
 D = padarray(I,[1 1],0,'both');
 [x y]=size(D);
 m=1;
 n=1;
 for i=2:x-1   
    for j=2:y-1 
         I1(m,n)=max(max(D(i-1,j-1:j+1),D(i,j-1),D(i,j+1),D(i+1,j-1:j+1)));
         n=n+1;   
    end
     m=m+1;
     n=1;
end
I1=I1(1:x-2,1:y-2);
error: Error using max Too many input arguments.
Error in sampl1 (line 9) I1(m,n)=max(max(D(i-1,j-1:j+1),D(i,j-1),D(i,j+1),D(i+1,j-1:j+1)));
댓글 수: 0
답변 (1개)
  ES
      
 2013년 10월 9일
        max ideally takes one argument, a vector or matrix and returns the maximum element(s) (elements in case the passed input is a matrix).
max also takes two arguments.
But foryour case, you can form a matrix x=[D(i-1,j-1:j+1),D(i,j-1),D(i,j+1),D(i+1,j-1:j+1)] and do a max on x like
max(x)
댓글 수: 3
  Walter Roberson
      
      
 2013년 10월 9일
				max can also take three arguments. When it is given 2 arguments, it always proceeds element-by-element. When it is given three arguments with the second argument empty, it uses the third as the dimension number to take the maximum over.
참고 항목
카테고리
				Help Center 및 File Exchange에서 Deep Learning Toolbox에 대해 자세히 알아보기
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



