2011-11-05 2 views
2

새로운 Python-Bindings (cv2)가 ImageROI를 지원하지 않으므로 numpy Array에 ROI를 설정할 수 있습니까 (아니면 내가 사용하지 않았을 수도 있습니다)? 나는 IPLImage와 numpy 사이에서 변환하고 싶지 않다.OpenCV - 새로운 Python 바인딩 및 ImageROI?

도움 주셔서 감사합니다.

+0

이전 Python 바인딩 ('import cv')을 사용할 수 있습니다. – misha

답변

2

배열에서 새로운 부분 배열로 부품을 복사하여 해결책을 찾았습니다. 새로운 numpy 배열은 numpy를 사용하는 모든 새로운 바인딩과 함께 사용될 수 있습니다. :)

a = arr[y:y + size[1], x:x + size[0]] 
tmp = np.array(a, dtype = arr.dtype) 
return tmp 

arr은 numpy 배열 이미지이며, 크기는 튜플이며, x와 y는 좌표입니다.

+0

사실, ** a **는 여전히 ** arr ** (** a ** **는 ** arr **과 같은 주소를 가리 킵니다)의 값을 유지합니다. 이는 a의 값을 변경하면 실제로 * * arr **. 따라서 효과는 ** arr **의 ROI를 설정하는 것과 같습니다. – Peb