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

优秀个人网站模板下载可以观看国外短视频的app

优秀个人网站模板下载,可以观看国外短视频的app,专业网站托管,做网站公司宁波上市大家好呀#xff0c;前两天烈阳天道1上映了#xff0c;不知道大家看没看呢#xff0c;里面还有一小段彦穿越虫洞与猴哥相遇的画面#xff0c;彦女王啊啊啊~~所以我去网上爬了二百来张我大学的风景画#xff0c;然后找了以前存的彦女王的图片#xff0c;生成了一幅蒙太奇画…大家好呀前两天烈阳天道1上映了不知道大家看没看呢里面还有一小段彦穿越虫洞与猴哥相遇的画面彦女王啊啊啊~~所以我去网上爬了二百来张我大学的风景画然后找了以前存的彦女王的图片生成了一幅蒙太奇画像。然后我两个热爱的就合体啦先看一下什么是蒙太奇图像吧其实你肯定见过只不过不知道叫蒙太奇而已一张大的图片是由很多小的图片拼接而成的这种就是蒙太奇图像啦或者叫马赛克拼图我要做的就是把我大学的风景图拼成彦的图片。综述实现思路文末附有python代码本文为我写的C代码1读取文件夹内的风景图片集将每张剪裁到90*45大小并存入Mat容器内2将图片模板彦的照片扩大为1600*2700大小3计算图片集的直方图并将结果存到MatND容器内直方图容器4双重for循环以90*45的步长遍历图片模板计算各个区域的直方图并将区域直方图与图片集的直方图进行比对得到相似度最高的风景图片将该风景图片替换模板对应区域5将4步得到的蒙太奇图与原模板图线性相加得到更为逼真的效果是不是很简单的过程但就这么个过程我调了一天的bug然后被迫深入理解了C的动态回收机制... ... 建议感兴趣的小伙伴自己实现一下。以下代码在主函数内顺次复制粘贴即可1读取图片集并预处理//【1】图片集的采集与处理 int Images_number 256;//图片集中图片的数量 int step_x 80; //将图片剪裁为80*45大小 int step_y 45;Mat srcImage; vectorMat load_Images;//图片集容器 char filename[30];//存储图片名字 for (int i 0; i Images_number; i) {Mat dstImage;sprintf_s(filename, ./风景图/ysu (%d).jpg, i);cout filename endl;srcImage imread(filename); //Mat类图像resize(srcImage, dstImage, Size(step_x, step_y), 0, 0, INTER_NEAREST);load_Images.push_back(dstImage); } cout 图片加载完毕 endl; 主要用到了利用sprintf函数得到图片集有规律的命名然后for循环依次将imread到的图片push_back添加到Mat容器内就可以了。二百多张图片如何快速整齐的命名看链接。https://jingyan.baidu.com/article/b87fe19e4834a95218356814.html2调整原模板图的尺寸大小//【2】将原模板图扩大到合适尺寸 Mat originalImage, showImage; originalImage imread(彦.jpg); imshow(彦, originalImage); resize(originalImage, showImage, Size(1600, 2700)); 没啥好说的就在基本保持原先长宽比例的条件下让长宽都是90*45图片集被裁剪的大小的整数倍就好了。3计算图片集直方图//【3】计算图片集的直方图 int width showImage.cols; //模板图的长宽 int height showImage.rows; Mat frame; vectorMatND hsit_list;//直方图容器 //计算直方图的参数准备 int bins 128; //直条数 int hist_sizes[] { bins,bins,bins }; //存放每个维度的直方图尺寸数组 // 均为256条宽度 float range[] { 0,256 }; //每一维数组的取值范围 // 均为0-255高度 const float* ranges[] { range,range,range }; int channels[] { 0,1,2 }; //for循环计算图片集的直方图并存储 for (int i 0; i Images_number; i) {/*load_Images[i].copyTo(frame);*/MatND hsit_RGB;Mat frame;load_Images[i].copyTo(frame);calcHist(frame, 1, channels, Mat(), hsit_RGB, 3, hist_sizes, ranges, true, false);hsit_list.push_back(hsit_RGB); } 和第一步套路类似循环计算了图片集所有图的直方图并存储到了一个直方图容器内。4遍历彦模板图计算每一小块的直方图并对比替换//【4】遍历寻找最匹配的图片并替换 int number_order; for (int x 0; x height; x x step_y) {for (int y 0; y width; y y step_x) {Mat roiImage montageImage(Rect(y, x, step_x, step_y));//Rect(y, x, step_x, step_y)//参数准备MatND hsit_roi;double match_ 0.0;//匹配度calcHist(roiImage, 1, channels, Mat(), hsit_roi, 3, hist_sizes, ranges, true, false);for (int i 0; i Images_number; i) {double match;match compareHist(hsit_roi, hsit_list[i], HISTCMP_CORREL);if (match match_) {//寻找对比对最高的number_order i;match_ match;}}load_Images[number_order].copyTo(roiImage);} } cout 【4】遍历寻找最匹配的图片并替换成功 endl; 首先两个步长分别为step_y和step_x的循环是遍历原图模板各个小块区域并计算该块的直方图。之后用一个for循环在第三步得到的直方图容器内寻找与该块直方图匹配度最高的风景图片然后将该风景图片替换原图对应区域。到此运行完毕我们就可以得到一个不太完美的蒙太奇图片了虽然有些粗糙但已经可以看出来了叭效果可以调节裁剪的大小或者原图模板的大小来改善。但以我代码设置的参数执行完都要好几分钟如果有什么优化建议可以交流哈。来看看女王的腿嗯竟然是用碑组成的。我们还可以通过第五步将上图左图与右图加权得到更为逼真的蒙太奇画像。5将效果图与原图加和Mat dstImage; addWeighted(showImage, 0.4, montageImage, 0.6, 0, dstImage); imwrite(结果图.jpg, dstImage); imwrite(show.jpg, montageImage); 加和后的效果图效果是不是好一些了可以更改参数使效果更好。由于我还有毛概论文没写就不瞎搞了~THE END本文灵感来自知乎三木青年代码都是我自己敲的网上关于蒙太奇的大概只有我用的C了python代码可以看知乎链接https://zhuanlan.zhihu.com/p/168667043这么好的一篇文能不能求个赞呢
http://www.ihoyoo.com/news/6846.html

相关文章:

  • 省级示范校建设网站企业网站建设合同书模板
  • 中国建设银行网站会员可以改名深圳活动策划设计机构
  • 怎么弄免费的空间做网站城乡建设网站投稿
  • 网站开发可行性报告wordpress 邀请码注册衔接
  • 企业网站mp4怎么处理网站后缀类型
  • 微网站 和移动站重庆景点
  • 做网站后台要做些什么黄石seo
  • 成功的微网站微信营销软件有哪些
  • 目前什么编码做网站最好网站开发国外研究状况
  • 网站和网页的区别在于企业官网搭建
  • 北京网站建设销售招聘宁乡电商网站建设价格
  • 全国网站直播平台被摧毁做框架模板的网站
  • 郑州网站建设 股权投资网站域名备案谁来做
  • 雅虎网站提交网站如何申请微信支付接口
  • soho做网站谷歌推广安徽省工程招标信息网
  • 网站开发工资一般多少钱图片制作在线制作免费
  • ps加dw做网站视频长沙seo排名外包
  • 公司网站建设方案所需素材网络营销理论起源
  • 提高seo排名网站排名优化各公司的
  • 好的网站首页建设公司中山手机网站建设电话
  • 小说网站搭建教程维护平台是什么工作
  • 一家只做t恤的网站南京网站制作公司南京微尚
  • 深圳做网站建设公司做网站的是什么职业
  • 网站域名解析视频制作流程
  • 暴雪公司现状洛阳搜索引擎优化
  • 济南网站优化分析做网站容易 但运营难
  • 淄博桓台学校网站建设定制专门做护肤品的网站是
  • 网站建设合同 域名目前最好用的网络管理软件
  • 首次做淘宝客网站要安装程序吗学生为学校做网站
  • 外国高端网站网站导航页面制作