2013-02-18 4 views
1

Я работаю над проектом обработки видео и должен найти ROI из зеркала исходного изображения.Opencv: Как вычислить зеркало вектора Rect

Координаты ROI относительно зеркального изображения, и мне нужно сопоставить его с исходным исходным изображением. Есть ли встроенные функции в opencv для этого?

ROI является прямоугольником и зеркальным отображением Я имею в виду переворачивание изображения относительно оси Y.

+0

возможно дубликат [Хотеть жить-зеркало видео в OpenCV на OSX, не уверен, с чего начать] (http://stackoverflow.com/questions/8613881/wanting-to-live-mirror-video- in-opencv-on-osx-not-sure-where-to-start) – Johnsyweb

+0

Действительно, этот другой вопрос касается левого-правого флип, который звучит так же, как зеркалирование по оси y. @OP: Можете ли вы подтвердить, что это дубликат? В качестве альтернативы, добавьте несколько деталей, чтобы описать разницу? – jogojapan

+0

Нет, сэр абсолютно не то, что вы упомянули, это все о зеркальном отображении всего изображения моей, о зеркалировании границы рой, которая имеет прямой тип. Граница ROI вычисляется из зеркального изображения файла src, но прямоугольник, который будет отображаться, находится в исходном файле ... так что мне нужно перевернуть прямоугольник, чтобы он поместился в исходный исходный файл – ranger

ответ

1

Это работает для меня:

cv::Rect r; 

for(int i=0;i<rectg.size();i++) 
{ 
    r=rectg[i]; 
    r.x=rotated_img.cols-r.x-r.width; 
    rectg[i]=r; 
} 
0

cvSetImageROI для установки региона ROI. здесь rect - ваша область интереса. cvGetImageROI возвращает выбранный прямоугольник ROI.

void cvSetImageROI(IplImage* image, CvRect rect) 
+0

на самом деле мне нужно зеркало границы ROI ... Я получил это и ответил на это ... спасибо .. – ranger