문제

이것은 상당히 광범위한 질문입니다. 동일하지는 않지만 극도로 유사한 두 사진을 찍고 그 사이의 특정 차이점을 식별하기 위해 어떤 도구/라이브러리가 존재합니까?

예를 들어 여자 친구가 청소를 마친 후 금요일에 내 소파 사진을 찍는 것입니다. 그리고 긴 주말에 친구를 사귀고, 술을 마시고, 록 밴드를 연주하기 전에. 이틀 후 나는 소파의 두 번째 사진을 찍었다. 조명은 동일하고 소파는 마일 미터를 움직이지 않았으며 고정 된 위치에서 삼각대를 사용합니다.

이미지의 차이 또는 차이점의 세 번째 히트 맵 이미지를 생성하는 데 어떤 도구를 사용할 수 있습니까? .NET 용 도구가 있습니까?

도움이 되었습니까?

해결책

앤드류 키릴 로프를 확인하십시오 기사 CodeProject에서. 그는 The를 사용하여 C# 응용 프로그램을 썼습니다 aforge.net 모션을 감지하는 컴퓨터 비전 라이브러리. aforge.net 웹 사이트에는 a가 있습니다 논의 모션 감지에 대한 두 가지 프레임 차이.

다른 팁

이것은 주로 이미지 형식과 압축에 따라 다릅니다. 그러나 하루가 끝나면 두 개의 래스터를 가져 와서 픽셀로 픽셀을 비교하고있을 것입니다.

살펴보십시오 지각 이미지 차이 유틸리티.

작고 일반적으로 가입 할 수있는 차이를 모두 볼 수있는 가장 분명한 방법은 픽셀 데이터를 xor하는 것입니다. 조명이 약간 다르면 너무 많을 수 있습니다. 차이 (빼기) 픽셀 데이터는 차이가 얼마나 미묘한 지에 따라 원하는 것이 더 많을 수 있습니다.

시작해야 할 곳 중 하나는 풍부한 이미지 처리 라이브러리가 있습니다. 나는. 연산자와 대화식으로 작업 할 수 있습니다 imlab 도구, C 또는 C ++에서 직접 호출하거나 실제로 LUA 바인딩을 사용하여 LUA에서 운전하십시오. 비트 맵에서 광범위한 작업 및 확장 가능한 파일 형식 라이브러리를 지원합니다.

의도적으로 아무것도 움직이지 않았더라도 다음과 같은 알고리즘을 사용하고 싶을 수도 있습니다. 체로 치다 프레임간에 좋은 하위 픽셀 품질 정렬을 얻으려면. 너가 아니라면 원하다 카메라를 고정으로 처리하고 소파의 움직임도 감지합니다.

회사가 만든 툴킷 (DotImage)을 사용 하여이 무료 .NET 응용 프로그램을 작성했습니다. 매우 간단한 알고리즘이 있지만 코드를 재생하려는 경우 코드가 오픈 소스입니다. DotImage 사본을 구매하지 않으려면 알고리즘을 .NET 이미지 클래스에 조정할 수 있습니다.

http://www.atalasoft.com/cs/blogs/31appsin31days/archive/2008/05/13/image-difference-utility.aspx

흥미로운 질문입니다. 특정 라이브러리를 언급 할 수는 없지만 귀하가 요구하는 프로세스는 기본적으로 최소한의 모션 보상 사례입니다. 이것은 MPEG (MP4, Divx 등) 비디오가 비디오를 매우 잘 압축하는 방식입니다. MPEG에서 해당 모션 보상 알고리즘이 구현되는 방식에 대한 정보를 찾을 수 있습니다.

명심해야 할 또 다른 것; JPEG 압축은 블록 기반 압축입니다. MPEG가 사물에서 가져 오는 많은 이점은 실제로 블록 비교를 수행하는 것입니다. 대부분의 이미지 (배경)가 하나의 이미지에서 다음 이미지에서 동일하면 해당 블록은 변경되지 않습니다. 비교해야 할 데이터의 양을 줄이는 빠른 방법입니다.

.NET 이미징 클래스를 사용하고 새 비트 맵 () x 2를 만들고 각 픽셀의 R & G & B 값을 살펴보면 차이를 결정할 때 원하는 경우 A (alpha/transparency) 값을 볼 수도 있습니다. .

또한 getPixel (y, x) 메소드를 사용하는 메모는 크게 느리게 될 수 있으며 전체 이미지를 얻는 또 다른 방법이 있으며 (우아함이 적음), GetBitMap 또는 비슷한 것을 기억한다면 각각 직접 통과합니다. 이미징/비트 맵 클래스를보고 일부 튜티를 읽으십시오. 실제로 필요한 전부이며 사용하기가 어렵지 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top