Область интереса opencv python

Я пытаюсь получить область изображения (ROI) с помощью OpenCV python. Версия opencv используется 2.4.3. Однако, когда я пытаюсь вызвать API

cv2.SetImageROI

он возвращает мне ошибку

AttributeError: 'module' object has no attribute 'SetImageROI'

также при проверке документации кажется, что этот api является устаревшей функцией python. http://docs.opencv.org/2.4.3/search.html?q=setimageroi

Я не уверен, как получить ROI, используя эту текущую версию opencv в питон. Кто-нибудь может подсказать, как это сделать?

спасибо

2 ответов


хорошо, при дальнейшем анализе понял, что cv2, так как он поддерживает структуру массива numpy, больше нет необходимости в API, все изображение можно манипулировать в самом массиве. например:

img = cv2.imread('image.png')
img = img[c1:c1+25,r1:r1+25]

здесь c1-расположение пикселей левого столбца, а r1-соответствующее расположение строк. И img теперь имеет изображение, указанное в пикселях как ROI.

изменить: Очень хорошо объяснено здесь, Как скопировать область изображения с помощью OpenCV в в Python?


Как говорится в документация, и относительно сообщения об ошибке, которое вы получили, вам скорее нужно импортировать соответствующий модуль, а затем вызвать SetImageROI() способ:

import cv
cv.SetImageROI(imag, rect)