opencv 有没有检测一幅图是另一幅图的部分,的算法?

2021-02-26 18:43:50 +08:00
 imn1
A∈B,A 为 B 裁切出来的,但尺寸不一样,而且这个“部分”尺寸也不一样(裁切后有缩放的可能)
意思是有没有 matchTemplate 以外的类似算法?因为 matchTemplate 要求这个“部分”尺寸接近的
1466 次点击
所在节点    机器学习
9 条回复
learningman
2021-02-26 19:15:40 +08:00
如果是严格裁切的话,都不需要 AI,字符串搜索算法改改不就行了。。。
minami
2021-02-26 19:27:22 +08:00
这种场景不适合 object detection,可以用 object tracking 里的算法
minami
2021-02-26 19:28:19 +08:00
但是不会精准的,这个做不到精准,只能做到 IOU 大于某个值,做不到 1
imn1
2021-02-26 19:29:12 +08:00
@learningman
裁切只是个意思,严格裁切就不会出现“部分”尺寸不同的情况了
举例:B 为全景照片,选取一个包含某物件的区域,例如建筑物,裁切后,缩放到 25%为 A,缩放自然有失真,A 是 B 的“部分”,但尺寸不吻合
现在有 A/B 两幅图,并不知道 A 的产生过程,也就是不知道上述的裁切和缩放这个过程,求证 A∈B
pkookp8
2021-02-26 19:29:25 +08:00
@learningman 图片是有损压缩算法,没法保证重新编码(裁剪)后解码得到的图像完全等于原图的一部分
pkookp8
2021-02-26 19:31:30 +08:00
@pkookp8 举个例子,我重新编码后有一个像素点颜色变了,你无法区分出 rgb255.0.0 和 254.0.0 的区别。所以算法需要加上一个阈( fa,手动狗头)值
alazysun
2021-02-26 20:04:15 +08:00
从 B 裁切的 A 为什么要缩放 B 肯定是缩放 A 啊
imn1
2021-02-26 20:53:57 +08:00
@alazysun #7
理论上从大图缩小失真较小(检测时),但不知道哪个大一些的话,两者都可以

实际也没多大区别,以前试过不同的图缩放,结果差不多,设定临界值多少对准确度影响更大
另外就是图片质量,质量较好的缩放失真小,但这个也是未知的
不过,A 缩放的话内存和计算小一点点
vance123
2021-02-26 21:02:02 +08:00
mathematica 的 ImageAlign 函数可以实现这个功能

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/756593

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX