opencv - 图像比较方法
问题描述
我正在尝试将对象过去状态的图像与最近拍摄的图像进行比较
例如
去年我有这个物体的图像,我有一张最近的照片,我需要检测这些图像之间的差异并在新照片上覆盖。谁能指导我如何进一步解决这个问题?
这是一个示例图片:示例
我试图添加一个高斯模糊,但从那以后我就停滞不前了。先感谢您 :)
解决方案
您可以使用 cv2.absdiff(frame1,frame2) 比较两个帧之间的差异。
一旦找到高于某个阈值的差异区域,就可以使用 cv2.rectangle() 在其周围绘制矩形。
下面是用于运动检测的 cv2.absdiff() 示例。您可能可以将代码重新用于您想要做的事情:
https://github.com/methylDragon/opencv-motion-detector/blob/master/Motion%20Detector.py
推荐阅读
- django - 如何将评论与 Django 模型中的父评论相关联
- twitter-bootstrap - Boostrap sass 函数,(scss 中的混合函数)?
- python - 如何模拟任何未直接调用的函数?
- sql - 使用过程更新表 A 中的第 2 列,通过检查表 B 中的列中是否存在第 1 列值 [PostgreSQL]
- python - 在列表中循环 | 蟒蛇 3
- node.js - 在 node.js 开发中,在子进程中,最好在退出时清除超时,而不是关闭,对吗?
- swagger-php - 是否需要 nelmio_api_doc.yaml 中的架构部分?
- android - 在设计选项卡中找不到资源编辑器
- python-3.x - 查询浮点数以过滤 Pandas 数据框获取类型错误:“str”和“float”实例之间不支持“>”
- c++ - SDL-Image:无法打开图像,只有错误消息