2010-07-14 4 views

답변

5

아니요, 알고있는 내장 함수가 없습니다. 아마 뭔가있을 수도 있지만, 왜 그렇게 기본적인 것을 쓰려고 귀찮을까요? 왜 그것이 기본이라고합니까? 두 이미지를 직접 비교했다고 가정 해 보겠습니다.

IM1 == IM2 

컬러 이미지는 일반적으로 uint8 값으로 구성된 MxNx3 배열입니다. 따라서이 테스트는 MxNx3 부울 배열이됩니다. 두 픽셀의 세 채널이 모두 특정 픽셀에 대해 동일한 경우 해당 픽셀은 동일합니다. 따라서 위의 결과 중 세 번째 차원에 모두 적용됩니다 ...

all(im1 == im2,3) 

이것은 MxN 배열입니다. 이제 얼마나 많은 픽셀이 동일 했습니까? 모두가 부울 결과를 반환하기 때문에 결과의 전체 합계는 동일한 픽셀을 계산합니다. 2 차원 어레이의 전체 합을 형성하는 간단한 방법은 합계를 형성하는 것입니다.

sum(sum(all(im1 == im2,3))) 

이제이 수치를 이미지의 총 픽셀 수의 30 %와 비교할 수 있습니다. 나는 그 부분을하는 방법을 알아낼 수 있도록하겠습니다.

기본적이고 벡터화 된 빌딩 블록을 사용하여 MATLAB에서 솔루션을 구축하는 데 익숙해집니다.

관련 문제