我想在视频上放一张图片,我想知道在没有多线程的情况下在opencv中是否有可能。 我想避免这种情况,因为在我的项目中,我正在RPI 0W上运行(这就是为什么我不希望使用多线程)。 我在互联网上找不到任何有关它的信息。我在c ++中获得了一些基本代码。我是新来打开简历的人。
int main(){
VideoCapture cap(0);
if (!cap.isOpened())
{
cout << "error"<<endl;
return -1;
}
Mat edges;
namedWindow("edges", 1);
Mat img = imread("logo.png");
for (;;)
{
Mat frame;
cap >> frame; // get a new frame from camera
imshow("edges", WINDOW_AUTOSIZE );
imshow("edges", img);
imshow("edges", frame);
if (waitKey(30) >= 0) break;
}
}
答案 0 :(得分:1)
在OpenCV中,在同一窗口中显示两件事会覆盖我认为在您的情况下正在发生的前一件事。 您可以使用OpenCV addWeighted()函数或按位操作。 OpenCV对此有很好的文档。您可以找到它here