Cómo dibujar una imagen transparente sobre la alimentación de la cámara en vivo en opencv
Necesito dibujar una imagen transparente sobre la imagen de la cámara en vivo. El siguiente es el archivo png que se muestra como superposición sobre la alimentación de la cámara.
La siguiente es la pieza de código para obtener los cuadros de la cámara y mostrarlos en la pantalla. También intenté dibujar el círculo como superposición, pero el círculo no es transparente. Creo que estoy equivocado o me estoy perdiendo algo en el siguiente código:
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace cv;
using namespace std;
int main () {
Mat src;
Mat overlay = imread ( "circle.png", -1 );
VideoCapture cap ( 0 );
while ( 1 ) {
cap >> src;
cvtColor( src, src, CV_BGR2BGRA );
overlay.copyTo( src.colRange(0,400).rowRange(0,400));
imshow ( "src",src );
waitKey( 10 );
}
return 0;
}