网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

opencv3/C++视频中叠加透明图片的实现

如下所示:

创新互联专注于维西企业网站建设,成都响应式网站建设,成都商城网站开发。维西网站建设公司,为维西等地区提供建站服务。全流程按需网站开发,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务

大致思路:获取摄像头画面后,通过在图像上循环叠加一组背景透明的PNG图片,在图像上产生类似GIF的动图效果。

#include
using namespace cv;

//PNG透明图片叠加到视频
int main()
{
  Mat frame;
  VideoCapture capture;
  capture.open(0);
  if(!capture.isOpened())
  {
    printf("can not open the camear......\n");
    return -1;
  }
  namedWindow("mask", CV_WINDOW_AUTOSIZE);
  namedWindow("output", CV_WINDOW_AUTOSIZE);
  while (capture.read(frame))
  {
    //翻转摄像头图像
    flip(frame, frame, 1);
    Mat image = frame;   
    for (int i = 1; i < 11; i++)
    {
      char filename[100];
      sprintf(filename,"E:/image/image/00/%d.PNG",i);
      //灰度图
      Mat grayPng = imread(filename,0);      
      threshold(grayPng,grayPng,180,255,CV_THRESH_BINARY);
      //掩模反色
      Mat mask = 255 - grayPng; 
      imshow("mask",mask);
      //读取背景透明的PNG图像
      Mat png = imread(filename);
      Mat imROI;
      imROI = image(Rect(200,20,png.cols,png.rows));
      png.copyTo(imROI,mask);
      imshow("output",image);
      //替换新图
      image = frame;
      waitKey(10);
    }

  }
  waitKey();

  return 0;
}

opencv3/C++视频中叠加透明图片的实现

opencv3/C++视频中叠加透明图片的实现

导入的PNG图片为:

opencv3/C++视频中叠加透明图片的实现

opencv3/C++视频中叠加透明图片的实现

以上这篇opencv3/C++视频中叠加透明图片的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持创新互联。


文章标题:opencv3/C++视频中叠加透明图片的实现
文章URL:http://bjjierui.cn/article/jojgje.html

其他资讯