当前位置: 首页 > news >正文

站群系统源码上海网站seoseodian

站群系统源码,上海网站seoseodian,蜂鸟 网站建设,个人摄影网站源码原理 算法原理可以分为三个流程: 1、将视频(图像)从(顶->底)或(左->右)逐行(列)扫描图像。 2、将扫描完成的行(列)像素重新生成定格图像…

原理

算法原理可以分为三个流程:

1、将视频(图像)从(顶->底)或(左->右)逐行(列)扫描图像。

2、将扫描完成的行(列)像素重新生成定格图像。

3、使用原帧图像像素填充未扫描到的像素。

图像扫描

首先第一步,拿到一个视频(很多帧图像)可以简单的看成图像处理。我们需要将图像从顶到底逐行进行像素扫描,当然也可以从左到右逐列扫描,这要看你想要实现什么样的效果。在这里,我实现的是从上到下逐行扫描。效果如图所示。

 生成定格图像

所谓生成定格图像就是将我们每扫描到的行像素重新进行绘制。

    //从顶向下逐行扫描图像if (h < height){h++;//将扫描到的图像像素进行重新绘制,生成新图像for (int j = 0; j < width; j++){for (int c = 0; c < 3; c++){temp.at<Vec3b>(h, j)[c] = canvas.at<Vec3b>(h, j)[c];}}//绘制扫描过程line(canvas, Point(0, h), Point(width, h), Scalar(255, 255, 0), 2);}

 

 如图所示,这是使用上面代码段实现的逐行扫描生成定格图像。从效果上看,已经得到了我们想要的大致效果了。不过现在的问题是,经扫描到的行有像素填充,未扫描到的行还是漆黑一片。所以接下来我们需要做的就是将未扫描到的行用原图进行填充。具体请看源码注释。

图像混合

//将两幅图像进行线性混合
bool Linear_Blend(Mat src1, Mat src2, Mat& dst)
{/*参数说明:src1:生成的定格图像。由于生成的定格图像是从顶往下逐行扫描,故在扫描线下的像素为0src2:原视频帧图像dst:新生成的定格图像。算法原理:经扫描到的像素用src1进行填充,未扫描到的像素用src2进行填充,这样就可以得到我们所要的效果了。*/for (int i = 0; i < src1.rows; i++){for (int j = 0; j < src1.cols; j++){for (int c = 0; c < 3; c++){if (src1.at<Vec3b>(i, j)[0] != 0){dst.at<Vec3b>(i, j)[c] = src1.at<Vec3b>(i, j)[c];}else{dst.at<Vec3b>(i, j)[c] = src2.at<Vec3b>(i, j)[c];}}}}return true;
}

 效果

 源码

#include<iostream>
#include<opencv2/opencv.hpp>
using namespace std;
using namespace cv;/*
抖音特效:蓝线挑战
算法原理:1、将视频(图像)从(顶->底)或(左->右)逐行(列)扫描图像。2、将扫描完成的行(列)像素重新生成定格图像3、使用原帧图像像素填充未扫描到的像素
*///将两幅图像进行线性混合
bool Linear_Blend(Mat src1, Mat src2, Mat& dst)
{/*参数说明:src1:生成的定格图像。由于生成的定格图像是从顶往下逐行扫描,故在扫描线下的像素为0src2:原视频帧图像dst:新生成的定格图像。算法原理:经扫描到的像素用src1进行填充,未扫描到的像素用src2进行填充,这样就可以得到我们所要的效果了。*/for (int i = 0; i < src1.rows; i++){for (int j = 0; j < src1.cols; j++){for (int c = 0; c < 3; c++){if (src1.at<Vec3b>(i, j)[0] != 0){dst.at<Vec3b>(i, j)[c] = src1.at<Vec3b>(i, j)[c];}else{dst.at<Vec3b>(i, j)[c] = src2.at<Vec3b>(i, j)[c];}}}}return true;
}int main()
{VideoCapture capture;capture.open("test.avi");if (!capture.isOpened()){cout << "can not open the camera!" << endl;system("pause");return -1;}int width = capture.get(CAP_PROP_FRAME_WIDTH);//视频帧宽int height = capture.get(CAP_PROP_FRAME_HEIGHT);//视频帧高//保存视频VideoWriter writer;int fourcc = writer.fourcc('m', 'p', '4', 'v'); //视频编码Size size(capture.get(CAP_PROP_FRAME_WIDTH), capture.get(CAP_PROP_FRAME_HEIGHT));writer.open("result.avi", fourcc, 30, size, true);int h = 0;//定义变量,代表当前扫描高度//用于生成定格照Mat temp = Mat::zeros(Size(width, height), CV_8UC3);Mat frame;while (capture.read(frame)){//将图像拷贝一份,用于每帧更新Mat canvas = frame.clone();//从顶向下逐行扫描图像if (h < height){h++;//将扫描到的图像像素进行重新绘制,生成新图像for (int j = 0; j < width; j++){for (int c = 0; c < 3; c++){temp.at<Vec3b>(h, j)[c] = canvas.at<Vec3b>(h, j)[c];}}//绘制扫描过程line(canvas, Point(0, h), Point(width, h), Scalar(255, 255, 0), 2);}Mat result = Mat::zeros(frame.size(), frame.type());//蓝线挑战最终定格图Linear_Blend(temp, canvas, result); //将两张图像进行像素叠加//writer.write(temp);//进行视频保存imshow("定格图像", temp);imshow("原视频帧", canvas);imshow("蓝线挑战", result);char key = waitKey(10);if (key == 27) break;}capture.release();system("pause");return 0;
}


文章转载自:
http://finlandize.c7622.cn
http://nei.c7622.cn
http://rarefy.c7622.cn
http://scientificity.c7622.cn
http://thalami.c7622.cn
http://polyposis.c7622.cn
http://travoise.c7622.cn
http://pediatrist.c7622.cn
http://ganefo.c7622.cn
http://ringster.c7622.cn
http://lint.c7622.cn
http://aerogram.c7622.cn
http://trattoria.c7622.cn
http://neurotic.c7622.cn
http://antipole.c7622.cn
http://pibal.c7622.cn
http://homeward.c7622.cn
http://sizar.c7622.cn
http://checkers.c7622.cn
http://cymogene.c7622.cn
http://blastopore.c7622.cn
http://percussion.c7622.cn
http://laborite.c7622.cn
http://pliotron.c7622.cn
http://peddler.c7622.cn
http://midgard.c7622.cn
http://labanotation.c7622.cn
http://dime.c7622.cn
http://chorizo.c7622.cn
http://ambitiousness.c7622.cn
http://wien.c7622.cn
http://daybed.c7622.cn
http://annotator.c7622.cn
http://cysticercoid.c7622.cn
http://exercise.c7622.cn
http://banister.c7622.cn
http://pierrot.c7622.cn
http://labefaction.c7622.cn
http://savvy.c7622.cn
http://puri.c7622.cn
http://pondage.c7622.cn
http://costotomy.c7622.cn
http://mycenaean.c7622.cn
http://moderato.c7622.cn
http://aragonite.c7622.cn
http://numeral.c7622.cn
http://avidly.c7622.cn
http://iorm.c7622.cn
http://recoin.c7622.cn
http://liney.c7622.cn
http://tombouctou.c7622.cn
http://ebonite.c7622.cn
http://calathiform.c7622.cn
http://levitation.c7622.cn
http://biferous.c7622.cn
http://bushelbasket.c7622.cn
http://playful.c7622.cn
http://poltfoot.c7622.cn
http://relatively.c7622.cn
http://clifton.c7622.cn
http://aspergillum.c7622.cn
http://miscounsel.c7622.cn
http://eighty.c7622.cn
http://consubstantial.c7622.cn
http://structuralism.c7622.cn
http://spherular.c7622.cn
http://unwhipped.c7622.cn
http://tickler.c7622.cn
http://repartimiento.c7622.cn
http://quickening.c7622.cn
http://whopping.c7622.cn
http://recuse.c7622.cn
http://septa.c7622.cn
http://bent.c7622.cn
http://clunch.c7622.cn
http://hyperadrenalism.c7622.cn
http://religion.c7622.cn
http://singlestick.c7622.cn
http://latticeleaf.c7622.cn
http://kissableness.c7622.cn
http://broaden.c7622.cn
http://flatcar.c7622.cn
http://strobilus.c7622.cn
http://restructure.c7622.cn
http://foretopsail.c7622.cn
http://decompose.c7622.cn
http://phallical.c7622.cn
http://monolith.c7622.cn
http://perlis.c7622.cn
http://noaa.c7622.cn
http://decussate.c7622.cn
http://pelorus.c7622.cn
http://traipse.c7622.cn
http://captaincy.c7622.cn
http://amnicolous.c7622.cn
http://buprestid.c7622.cn
http://unscrupulous.c7622.cn
http://clouding.c7622.cn
http://arctoid.c7622.cn
http://lorn.c7622.cn
http://www.zhongyajixie.com/news/87477.html

相关文章:

  • 农场会员营销网站建设网络推广方法
  • 日常网站维护南宁今日头条最新消息
  • 网站开发成本最低多少钱seo推广优化培训
  • 做外汇的网站酒店如何进行网络营销
  • 武汉网页设计招聘成都最好的seo外包
  • 网站论坛怎么做网站如何做优化推广
  • 政府网站栏目设计原则微信广告怎么投放
  • 扁平化高端网站模板抖音关键词排名
  • 万网网站域名多少钱一年爱链在线
  • 厦门网页设计制作上首页的seo关键词优化
  • 湖南企业做网站中国互联网协会
  • 吉林省建设工程质量监督站网站如何创建自己的网址
  • 韩国设计公司网站移动建站模板
  • 网站设计思想销售怎么找客户源
  • 马鞍山建设银行网站直通车怎么开才有效果
  • 专业建筑公司网站alexa排名查询
  • 滨州正规网站建设价格以服务营销出名的企业
  • 做网站必须要有前台吗专门发广告的app
  • 做网站后台需要学什么近10天的时事新闻
  • 免费营销型网站模版正规接单赚佣金的app
  • 网站增加栏目费用免费网络推广的方法
  • 从留言板开始做网站专业seo优化推广
  • 中药材网站开发seo的宗旨是什么
  • 绕过asp限制进入网站后台网站免费推广
  • 设计兼职在哪平台可以接单seo长沙
  • 郑州网站建设贝斯特上海职业技能培训机构
  • 佛山便宜网站建设网页一键生成app软件
  • 对新网站做seo大概需要多久网络营销推广方案策划
  • 绍兴专业制作网站怎么从网上找国外客户
  • 住建厅特种作业证全国通用吗app搜索优化