Entendiendo la región de interés en openCV 2.4

Sé que en OpenCV 2.1 teníamos una función para establecer el ROI: cvSetImageROI (), pero tal función no existe en 2.4 (o al menos no puedo encontrarla en sus manuales y en la sección de ayuda).

Sin embargo, aquí está el único código útil que puedo encontrar que utiliza opencv 2.4 para el retorno de la inversión del mago, pero tengo problemas para entenderlo:

// define image ROI
cv::Mat imageROI;
imageROI= image(cv::Rect(385,270,logo.cols,logo.rows));
// add logo to image 
cv::addWeighted(imageROI,1.0,logo,0.3,0.,imageROI);

Aquí quieren agregar un registro muy pequeño a una imagen grande en la parte inferior derecha de la imagen original.

Entonces, lo que entiendo de aquí es que se crea otra matriz para mantener el ROI. Sus dimensiones se obtienen con la función rect y el tamaño es igual al del pequeño logotipo que desean agregar.

Entonces esto es lo que me confunde:cv::addWeighted(imageROI,1.0,logo,0.3,0.,imageROI); aquí la fuente 1 de addWeighted es el conjunto de dimensiones de ROI, la fuente 2 es el logotipo y el destino también es el conjunto de dimensiones de ROI. ¿Es esto correcto? ¿O me estoy perdiendo algo?

Después de esto, se muestra el resultado con el logotipo agregado a la imagen grande. Donde en estos comandos se incluyó la imagen grande.

Además, antes de preguntar aquí, quería probar el código para ayudar a aclarar la situación. pero recibo este error, ya que la imagen () no se reconoce:'image': identifier not found

int _tmain(int argc, _TCHAR* argv[])
{
Mat src1, imageROI, logo;

logo = imread("c:\\car1.jpg", -1);

imageROI= image(Rect(385,270,logo.cols,logo.rows));

addWeighted(imageROI,1.0,logo,0.3,0.,imageROI);


namedWindow("meh", CV_WINDOW_AUTOSIZE);
imshow("meh", imageROI);
waitKey(0);


return 0;

}

Respuestas a la pregunta(1)

Su respuesta a la pregunta