利用光流算法检测两幅图片之间的移动关系
算法 图片 检测 移动 关系 之间
2023-09-11 14:15:19 时间
简 介: 本文给出了利用 CV2 的光流处理算法,并给出了一些典型图片处理结果。
关键词
: 光流算法
§01 CV2光流算法
一、计算算法
下面给出了计算算法的 Python 代码。
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# TEST1.PY -- by Dr. ZhuoQing 2022-07-13
#
# Note:
#============================================================
from headm import *
import cv2
imageid = [13, 14]
file1 = tspgetdopfile(imageid[0])
file2 = tspgetdopfile(imageid[1])
printf(file1, file2)
prev = cv2.imread(file1)
next = cv2.imread(file2)
prev_image_gray = cv2.cvtColor(prev, cv2.COLOR_BGR2GRAY)
next_image_gray = cv2.cvtColor(next, cv2.COLOR_BGR2GRAY)
flow = None
flow = cv2.calcOpticalFlowFarneback(prev=prev_image_gray,
next=next_image_gray, flow=flow,
pyr_scale=0.8, levels=15, winsize=5,
iterations=10, poly_n=5, poly_sigma=0,
flags=10)
mag, ang = cv2.cartToPolar(flow[...,0], flow[...,1])
hsv = zeros_like(prev)
hsv[...,1] = 255
hsv[...,0] = ang*180/pi/2
hsv[...,2] = cv2.normalize(mag, None, 0, 255, cv2.NORM_MINMAX)
img = cv2.cvtColor(hsv, cv2.COLOR_HSV2BGR)
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
#------------------------------------------------------------
# END OF FILE : TEST1.PY
#============================================================
二、测试案例
1、移动大的图片
▲ 图1.2.1 第一个图片
▲ 图1.2.2 第二个图片
▲ 图1.2.3 处理结果
2、移动小的图片
下面是处理的图片,前后移动较小。
下面是处理结果。
▲ 图1.2.4 处理结果
3、移动中等距离
处理的两个图片。
▲ 图1.2.5 处理结果
4、另外的例子
▲ 图1.2.6 处理结果
※ 总 结 ※
本文给出了利用 CV2 的光流处理算法,并给出了一些典型图片处理结果。
● 相关图表链接:
相关文章
- Java实现 蓝桥杯VIP 算法训练 输出米字形
- 使用LRU算法缓存图片,android 3.0
- C#与Java同步加密解密DES算法
- 重新整理数据结构与算法(c#)—— 二叉树排序树补删除节点[二十二]
- MAT之PSO:利用PSO算法优化二元函数,寻找最优个体适应度
- Crawler/ML:爬虫技术(基于urllib.request库从网页获取图片)+HierarchicalClustering层次聚类算法,实现自动从网页获取图片然后根据图片色调自动分类
- CV之IG之Inception:基于TF框架利用Inception模型+GD算法的某层网络图像生成原始的Deep Dream幻觉梦境图片(特征可视化实现图像可解释性)案例应用
- ML之Hash_HamMingDistance:基于输入图片哈希化(均值哈希+差值哈希)即8*8个元素的单向vector利用汉明距离算法实现计算图像相似度案例
- CV之FR:基于某AI公司的API接口基于人脸识别实现计算人脸相似度(计算两张人脸图片相似度进而判断否为同一个人)—利用人工智能算法判断相似度极高的国内外明星案例应用
- Dataset之图片数据增强:设计自动生成(高级封装之命令行解析实现)汽车车牌图片算法(cv2+PIL+argparse)根据随机指定七个字符自动生成逼真车牌图片数据集(带各种噪声效果)
- Dataset之图片数据增强:设计自动生成汽车车牌图片算法(cv2+PIL)根据随机指定七个字符生成逼真车牌图片数据集(自然场景下+各种噪声效果)可视化
- DL之NN/CNN:NN算法进阶优化(本地数据集50000张训练集图片),六种不同优化算法实现手写数字图片识别逐步提高99.6%准确率
- TF之LSTM:利用LSTM算法对mnist手写数字图片数据集(TF函数自带)训练、评估(偶尔100%准确度,交叉熵验证)
- Java 算法合并 Geoserver 切片生成指北针图片:高效、优雅解决地图数据可视化问题
- Qt中使用OpenCV修改图片局部颜色算法优化
- 基于ORL人脸数据库和PCA特征降维算法的人脸识别matlab仿真
- 基于临近图片相似性分析的图片碎片拼接算法matlab仿真
- 智能优化算法应用:基于麻雀搜索算法的TSP问题求解 - 附代码
- DL之CNN:利用卷积神经网络算法(2→2,基于Keras的API-Functional)利用MNIST(手写数字图片识别)数据集实现多分类预测
- Java 算法合并 Geoserver 切片生成指北针图片:高效、优雅解决地图数据可视化问题
- 数据结构与算法之快速排序