2011-11-20 5 views
0

두 개의 JPEG 또는 BMP 형식의 이미지를 비교하기 위해 C++ 또는 Python 라이브러리를 찾고 있습니다. 여기서는 픽셀 단위로 비교하려고합니다. 예를 들어 Image1 = 500 픽셀, Image2 = 500 픽셀, 이제 각 픽셀에 대해 색상 값 즉 RGB, R = 24, G = 15, B = 4를 알아야하고 동일한 위치에서 image2와 동일한 값을 비교해야합니다.C++ 또는 python을 사용한 이미지 비교

나는 또한 허용 오차 값을 가질 필요가있다. 만약이 허용 오차를 여전히 넘는 차이가 있다면 전체 백분율 차이가 필요할 것이다.

라이브러리가 있습니까? 그렇다면 저를 가리켜 주시거나 시작 제안을하십시오.

+0

안녕하세요. Santy : 첫 번째 질문이므로 댓글을 달고 회신하지 않을 것입니다. 여기서 질문하기 전에 조사를해야합니다. 자세한 내용은 http://stackoverflow.com/faq를 참조하십시오. 만약 당신이 구글 "이미지 비교 라이브러리"를 사용한다면 당신은 당신의 질문에 대한 대답을 아주 빨리 얻을 수 있습니다. (당신은 C++이나 파이썬으로도 제한 될 수 있습니다.) –

+0

관용의 유무에 관계없이 BMP와 JPEG를 픽셀 단위로 비교하고 싶지는 않습니다. – NullUserException

+0

http://stackoverflow.com/questions/796364/fast-cross-platform-cc-image-processing-libraries에는 버전 2.0의 –

답변

3

픽셀 단위로 비교하면됩니다. numpy을 사용하면 성능을 향상시킬 수 있습니다.

Numpy는 n 차원 배열 (픽셀 데이터의 경우와 동일한 유형을 모두 포함)에서 작동하고 요소별로 작동함으로써 매우 빠른 파이썬 모듈입니다.

그래서, "저 두 이미지의 픽셀의 알파 값이 0.5로 차이가 있었다 이야기"처럼 뭔가에 번역 될 것이다 :

img_one[..., ALPHA] - img_two[..., ALPHA] > 0.5 

HTH!

1

나는 OpenCV을 제안합니다. C로 작성되었지만 파이썬 바인딩도 있습니다. 아마도 다른 해결책도있을 수 있습니다 (예 : 직접 또는 직접 다른 라이브러리 사용).하지만 가장 널리 사용되는 이미징 라이브러리라고 할 수 있습니다.

예. 두 이미지의 차이로 새 이미지를 만든 다음 다른 픽셀 수를 계산하거나 색상 등을 기준으로 결과를 판단 할 수 있습니다.

+0

에 대한 답변이 있습니다. opencv는 C++에 속하지 않습니다. – Boaz

+0

흥미 롭습니다. 사용하지 않았습니다. 나이. 좋은 수업이 있나요? 나중에 볼 수 있습니다. – Mario

+0

네, 모든 것이 다시 쓰여졌습니다. 하지만 프레임 워크 내부 함수에서 모든 CvMats 및 IplImages를 cv :: Mat로 변환하는 오버 헤드가있는 이전의 c 구문을 계속 사용할 수 있습니다 – Boaz

1

을 시도 했습니까? 그것은 C++을 사용합니다.

관련 문제