opencv-python DIS光流
# -牧野- 2021-05-29
import cv2
from flowlib import flow_to_image
import numpy as npdef warp_flow(img, flow):h, w = flow.shape[:2]flow = -flowflow[:,:,0] += np.arange(w)flow[:,:,1] += np.arange(h)[:,np.newaxis]res = cv2.remap(img, flow, None, cv2.INTER_LINEAR)return resimg0_path = 'im1.png'
img1_path = 'im3.png'img0 = cv2.imread(img0_path)
img1 = cv2.imread(img1_path)img0_gray = cv2.cvtColor(img0, cv2.COLOR_BGR2GRAY)
img1_gray = cv2.cvtColor(img1, cv2.COLOR_BGR2GRAY)dis = cv2.DISOpticalFlow_create(2) #PRESET_ULTRAFAST, PRESET_FAST and PRESET_MEDIUM
flow0 = dis.calc(img0_gray, img1_gray, None, )
flow1 = dis.calc(img1_gray, img0_gray, None, )img1_warp = warp_flow(img0, flow0)
img0_warp = warp_flow(img1, flow1)flow0_img = flow_to_image(flow0)
flow1_img = flow_to_image(flow1)cv2.imwrite('flow0.jpg', flow0_img)
cv2.imwrite('flow1.jpg', flow1_img)
cv2.imwrite('im3_warp.jpg', img1_warp)
cv2.imwrite('im1_warp.jpg', img0_warp)
引用的flowlib.py文件见https://github.com/liruoteng/OpticalFlowToolkit/blob/master/lib/flowlib.py
输入图像:
0:PRESET_ULTRAFAST 1:PRESET_FAST 2:PRESET_MEDIUM对应结果:
warp结果:
opencv-python DIS光流相关推荐
- OpenCV DIS光流OpticalFlow的实例(附完整代码
OpenCV DIS光流OpticalFlow的实例 OpenCV DIS光流OpticalFlow的实例 OpenCV DIS光流OpticalFlow的实例 #include "open ...
- 机器视觉 OpenCV—python目标跟踪(光流)
文章目录 一.运动检测 1.1 检测思路 1.2 代码 二.运动方向预测 2.1 关键点(角点)追踪 goodFeaturesToTrack() 2.2 光流法 一.运动检测 1.1 检测思路 目标跟 ...
- OpenCV中的光流及视频特征点追踪
OpenCV中的光流及视频特征点追踪 1. 效果图 2. 原理 2.1 什么是光流?光流追踪的前提.原理 2.2 光流的应用 2.3 光流的2种方法 3. 源码 3.2 稀疏光流追踪 3.2 优化版稀 ...
- 干货 | OpenCV中KLT光流跟踪原理详解与代码演示
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:opencv学堂 稀疏光流跟踪(KLT)详解 在视频移动 ...
- INDEMIND带你玩转OpenCV4.0(一):DIS光流算法解析
文章目录 一.OpencCV 4.0 新特性介绍 首先是OpenCV完全支持了C++ 11 DNN(深度神经网络)模块是目前OpenCV更新最重要的模块 G-API 为算法的硬件优化加速提供计算图支持 ...
- OpenCV+python:Canny边缘检测算法
1,边缘处理 图像边缘信息主要集中在高频段,通常说图像锐化或检测边缘,实质就是高频滤波.我们知道微分运算是求信号的变化率,具有加强高频分量的作用. 在空域运算中来说,对图像的锐化就是计算微分.由于数字 ...
- OpenCV Python在计算机视觉中的应用
OpenCV Python教程 在这篇文章中,我们将使用Python中的OpenCv来涵盖计算机视觉的各个方面.OpenCV长期以来一直是软件开发的重要组成部分. 什么是计算机视觉? 我们考虑一个场景 ...
- OpenCV Python教程(2、图像元素的访问、通道分离与合并)
OpenCV Python教程之图像元素的访问.通道分离与合并 转载请详细注明原作者及出处,谢谢! 访问像素 像素的访问和访问numpy中ndarray的方法完全一样,灰度图为: [python] v ...
- python中import cv2遇到的错误及安装方法_独家利用OpenCV,Python和Ubidots来构建行人计数器程序(附代码amp;解析)...
作者:Jose Garcia 翻译:吴振东 校对:张一豪 本文约4000字,建议阅读14分钟. 本文将利用OpenCV,Python和Ubidots来编写一个行人计数器程序,并对代码进行了较为详细的讲 ...
- 如何把OpenCV Python获取的图像传递到C层处理
原文:https://blog.csdn.net/yushulx/article/details/52788051 用OpenCV Python来开发,如果想要用到一些C/C++的图像处理库,就需要创 ...
最新文章
- 二进制包 mysql_二进制包;mysql
- [HDU 3625] Examining the Rooms(第一类斯特林数)
- 疯了,要建飞铁!比飞机快3倍,4000km/h,北京到深圳半小时
- 计算机应用基础的题库,统考计算机应用基础题库
- action中的动态方法调用
- 统计某个字符串出现的次数
- Atitit.嵌入式web 服务器 java android最佳实践
- 【Gym-101908 L】Subway Lines【树上两条路径交】
- 网站标签页如何添加左边的小图标
- 怀旧服服务器物品栏在哪里,魔兽世界怀旧服:祈福服务器的真实情况,装备不贵,玩家确实不多...
- Java2实用教程第五版+第七章习题答案
- html图片顺时针倾斜50度,【资源】纯CSS右上角倾斜四十五度封页角效果
- Deepin安装向日葵报错
- HTML5 validity api,html5 form-Validity验证函数
- 软硬件学习记录5—— Verilog语言中的数据类型
- 手工修改BIOS,让板载显卡与独立显卡共存
- PLSQL官网, 及个版本下载地址和下载方法
- SM30表维护自动更新值
- 工作组模式下Windows共享分析
- android Jetpack StateFlow使用
热门文章
- Oh My ZSH让你的终端美如画
- javaScript快速入门(仅需一天)
- GPS实验二:GPS接收机的使用
- 英语知识点整理day04
- CocosCreator2.3.3 Effect中换算图集中UV
- Android_adb shell dumpsys介绍
- 【Simulink】Three-Phase V-I Measurement 使用方法
- 学GIS开发怎么入门,GIS专业的学生应该掌握什么知识 ?
- 【数字IC验证快速入门】11、Verilog TestBench(VTB)入门
- VS2010 调试C++项目 fatal error LNK1123 错误解决办法