opencv_python拉动进度条实现两幅图片融合及一幅图片自动平滑切换成另一张图片
一、拉动进度条实现两幅图片融合:
主要函数:cv2.createTrackbar()相关参数
int createTrackbar(const string& trackbarname, const string&winname, int* value, int count ,TrackbarCallback onChange = 0, void* userdata = 0);
const string& trackbarname:进度条名称
const string&winname:用于放置进度条的画布
int* value:进度条的起始值,进度条最左端一定是0,起始值则可自行设定。
int count:进度条的最大值。
TrackbarCallback onChange = 0:回调函数,默认为0,虽然默认为0,但一般设定一个空函数:def nothing(): pass
void* userdata = 0:用户传给回调函数的数据值,默认值为0。(这个参数暂时没研究,不会)
(‘进度条名称’,'放置进度条的画布',进度条起始位置,进度条最大值,回调函数,用户传给回调函数的数据值)
cv2.addWeighted()相关参数:
dst = cv2.addWeighted(src1, alpha, src2, beta, gamma[, dst[, dtype]])
src1:第一张图片;
alpha:第一张图的权重;
src2:第二张图片;(两张图片的分辨率需一致,如不一致需要转换,此外被叠加的两幅图像必须是尺寸相同、类型相同的)
beta:第二张图片的权重(alpha+beta=1)
后两个参数还未研究,这里暂时可不用到。
以下代码实现移动进度条实现一个图片平滑切换到另一个图片。
import cv2
import numpy as np
import timedef nothing(x):passimg_before = cv2.imread(r'D:\python\python\installation package\t0118c62a58ab2a87a9.jpg')img_after = cv2.imread(r'D:\python\python\installation package\t01866b35b22c82b3ac.jpg')#读取两副图片数据cv2.namedWindow('img_for_show')#创建用于放置进度条的画布。cv2.createTrackbar('weight','img_for_show',0,10,nothing)#创建进度条,进度条默认间隔为1,还不会设定进度条刻度值,故这里设定最小值为0,最大值为10.while(1): count = cv2.getTrackbarPos('weight','img_for_show')/10#循环获取进度条值,除于10将count值限定为0~1之间用作图片权重值。img_for_show = cv2.addWeighted(img_before,count,img_after,1-count,0)cv2.imshow('img_for_show',img_for_show)k = cv2.waitKey(1)if k == 27:breakcv2.destroyAllWindows()
效果如下图:
二、以下代码运行后自动由第一张图以0.2秒的速度缓慢切换成第二幅图。
import cv2
import numpy as np
import timeimg_before = cv2.imread(r'D:\python\python\installation package\t0118c62a58ab2a87a9.jpg')img_after = cv2.imread(r'D:\python\python\installation package\t01866b35b22c82b3ac.jpg')#读取两幅原图数据rows,cols,_ = img_before.shapeimg = np.zeros((rows,cols),np.uint8)#这里创建一个和上述图片相同大小的纯黑图片,相当于创建一个空图片。cv2.namedWindow('show')count = 0 #创建一个计数变量,用于计算权重。while(1):if count == 0: #判断是否刚开始计数,如是,则显示第一幅图cv2.imshow('show',img_after)else: #如不等于0,则加载融合后的图片。(这里如不用判断语句,则最开始会以一幅纯黑图片再切换到第一幅图,这不是我们想要的结果,故加个判断语句。)cv2.imshow('show',img)k = cv2.waitKey(1)&0xFFif k == ord('q') or count >= 1:breakcount += 0.1img = cv2.addWeighted(img_before,count,img_after,1-count,0)time.sleep(0.2)cv2.waitKey()cv2.destroyAllWindows()
opencv_python拉动进度条实现两幅图片融合及一幅图片自动平滑切换成另一张图片相关推荐
- ckplayer ajax,谁能帮我做一个脚本啊?能让这个网页视频播放可以拉动进度条 可以快进...
谁能帮我做一个脚本啊?能让这个网页视频播放可以拉动进度条 可以快进 $('.c_type').click(function(){ var data_id = $(this).attr('data-id ...
- Android音乐播放器(四)音乐唱片的转盘,歌曲同步进度条,以及音乐的暂停/播放/继续/上下歌曲切换
这是去年大二做的一个简单音乐播放器项目:是尽可能模仿酷狗音乐写的,具体实现的功能如下: 1:启动动画:点击运行程序会出现一个两秒钟的视频,类似酷狗音乐的启动动画一样,非常可观! 2:登录注册界面:输入 ...
- 第5章第17节:案例:使两张幻灯片中的图片进行平滑切换 [PowerPoint精美幻灯片实战教程]
本节演示在幻灯片切换时,如何使这两张幻灯片中的图片进行平滑的切换. 点击切换选项卡,打开切换功能面板. 在切换效果列表中,选择平滑选项. 点击幻灯片编号下方的星星图标,可以预览幻灯片的切换效果. 从图 ...
- java 进度条 不更新_java 进度条不能刷新解决方案 (已更新一次)
java期末考试都考完了,实验课却还没完,课程设计也还没开始做,本来打算把最后两次实验尽快做完,然后好好做课设,(我早就想写的坦克大战,过几天写好了,也肯定要整理发布出来).可却被多线程一题给坑了,题 ...
- android点滴 之 进度条
进度条有两种类型,一种是直的:一种是圆形的:直的进度条可以设置范围[0-x],可以有标准的进度,而圆形的是没有标准进度的,一般在不明白进度的情况下使用. 进度条也有很多的特效.例如新浪微博的图片下载时 ...
- 十五、JavaScript进度条的制作
@Author:Runsen @Date:2019/3/25 进度条经常运用于网页,即使我们意识到不是所有的东西都将瞬间被加载完成,这些进度条用于提醒使用者关于网页上具体的任务进程,譬如上传,下载,加 ...
- 浅谈前端实现页面加载进度条以及 nprogress.js 的实现
以前在 Vue 的项目用了 nprogress 这个插件,一直对于其如何得知加载进度充满好奇,最近又看到了「前端如何实现页面加载进度条」这个问题,今天周六恰好一探究竟.以下仅为一家之言,如有异议,欢迎 ...
- WPF 控件库——仿制Windows10的进度条
WPF 控件库--仿制Windows10的进度条 原文:WPF 控件库--仿制Windows10的进度条 一.其实有现成的 先来看看Windows10进度条的两种模式: 网上有不少介绍仿制Window ...
- Android loading进度条使用简单总结
在这里,总结一下loading进度条的使用简单总结一下. 一.说起进度条,必须说说条形进度条,经常都会使用到嘛,特别是下载文件进度等等,还有像腾讯QQ安装进度条一样,有个进度总给人良好的用户体验. 先 ...
最新文章
- js弹框带传值父窗口给子框_JavaScript实现弹出子窗口并传值给父窗口
- centos 7 Chrony 集群同步时间
- JZOJ 5393. 【NOIP2017提高A组模拟10.5】Snake vs Block
- boost::python::tuple相关的测试程序
- ClickHouse表引擎之Integration系列
- window下配置SSH连接GitHub、GitHub配置ssh key
- IOT(6)---MQTT和CoAP
- 面向对象语言编程的心得
- php能开发管理系统吗,PHP《个人管理系统》希望大家一起来开发
- Excel导入导出组件的设计
- A*寻路算法基于C#实现
- php 随机坐标点,php实现 计算坐标点在某区域
- 笔记 33 | Android通信之Thread类实现多线程
- vray渲染不了 全白_3D VR渲染,怎么做到墙面白的很干净
- 设置win7一直以管理员身份运行
- TRANSFORMER TRANSDUCER: A STREAMABLE SPEECH RECOGNITION MODELWITH TRANSFORMER ENCODERS AND RNN-T
- 王者荣耀微信哪个服务器怎么选,王者荣耀:国服战力对比!手Q和微信哪个大区的战力更胜一筹?...
- Android 设置向导启动分析
- 手把手教你如何做自媒体赚钱,揭开自媒体赚钱真相!记得收藏
- 4.PMAC下位机-PMAC安装参数设置