2015-01-20 5 views
3

나는이 두 이미지를 가지고 싶습니다두 이미지의 차이점을 자르는 방법은 무엇입니까?</p> <p><img src="https://i.stack.imgur.com/xvgdr.jpg" alt="frame 1"></p> <p><img src="https://i.stack.imgur.com/nWdQg.jpg" alt="frame 2"></p> <p>을 그리고 기본적으로이 생산 :

result

내가 함께 compare을 사용하는 등 지금까지 왔 fuzz을 사용하여 변경된 부품을 정의하십시오. 그런 다음이 영역의 경계 상자를 가져 와서 두 번째 프레임을 자르는 것이 가능합니까?

답변

3

나는이 라인을 따라 뭔가 할 것 : 그레이 스케일이 같은 binarised 이미지를 만들기 위해 차이 임계 값을 한 후, 작은 차이를 숨길 계산하기 조금 흐림

convert a.jpg b.jpg -colorspace gray -blur 0x2 \ 
     -compose difference -composite   \ 
     -threshold 20% out.jpg 

변환 :

enter image description here

그럼 다음과 같이 이미지에 가장 큰 개체를 찾기 위해 연결된 구성 요소 분석 갈 것입니다 :

convert a.jpg b.jpg -colorspace gray -blur 0x2  \ 
    -compose difference -composite -threshold 20% \ 
    -define connected-components:verbose=true  \ 
    -define connected-components:area-threshold=100 \ 
    -connected-components 8 out.jpg 

Objects (id: bounding-box centroid area mean-color): 
    0: 1029x1079+0+0 515.0,538.4 1102870 srgb(0,0,0) 
    17: 76x147+326+564 366.5,641.4 5827 srgb(252,252,252) 
    22: 18x50+358+612 365.1,635.3 568 srgb(0,0,0) 
    11: 34x31+810+345 825.5,361.1 317 srgb(255,255,255) 
    16: 57x97+25+539 52.3,587.2 286 srgb(255,255,255) 
    14: 46x65+120+414 144.0,444.3 203 srgb(255,255,255) 
    18: 27x49+23+579 36.9,601.0 118 srgb(255,255,255) 
    24: 16x8+703+641 710.6,644.5 102 srgb(255,255,255) 

-define connected-components:verbose=true은 개별 blob을 구문 분석 용 텍스트로 출력합니다.

-define connected-components:area-threshold=100은 면적이 100 픽셀보다 큰 얼룩 만 출력한다고 말합니다.

-connected-components 8은 8 개의 연결된 픽셀을 동일한 개체에 속한 것으로 간주합니다. 8 연결은 북쪽, 동쪽, 남쪽 및 서쪽 이외에 동북, 남동, 남서 및 북동 이웃을 의미합니다. 기본적으로 ImageMagick은 4 개의 연결된 픽셀 만 같은 객체에 속한 것으로 간주합니다 .- 더 빠름 ;-)

플레이어는 id 17이라는 항목입니다. 두 번째 행은 테두리 상자를 볼 수 있으며

convert b.jpg -crop 76x147+326+564 player.jpg 

enter image description here

참고로는 오리지널 : 당신은 연결된 구성 요소 분석을위한 ImageMagick를 6.8.9-10 이상이 필요합니다.

+0

빠르고 멋진 답변 감사합니다! 와우. – user217562

+0

즐거움! 이미지의 나머지 부분을 최적화하기 위해 숫자와 기법을 조금씩 수정해야합니다 (볼 수는 없지만). 시작해야합니다. –

+0

** + 2 ** 우수 답변! :-) –