gpt4 book ai didi

image-processing - OpenCV 模板匹配和透明度

转载 作者:太空宇宙 更新时间:2023-11-03 20:36:57 24 4
gpt4 key购买 nike

OpenCV 在模板匹配过程中如何处理图像的透明度?

问题是模板图像需要有透明部分,因为在原始图像中那些地方可能有任何东西。

我尝试了所有的方法,但都没有产生积极的结果(例如,未正确检测到模板在原始图像中的位置)。

最佳答案

OpenCV 似乎没有按照您希望的方式处理 alpha。

你有两个选择:

  1. 编写您自己的将使用 alpha channel 的互相关方法
  2. 转换您的图像,使您的 alpha channel 变得无关紧要

由于第一个选项很简单,我将在这里探讨第二个选项。我将重新使用我之前提供给 a similar question 的示例代码。如果直接对图像应用互相关,背景会干扰模板匹配(特别是浅色背景部分)。如果您尝试使用颜色 channel ,您会发现蓝色 channel 中的匹配给出了正确的结果。这取决于图像内容,并不是解决问题的一致方法。

另一种选择是对图像和模板执行边缘检测(例如 Sobel ),然后执行互相关。这是边缘检测图像(我在 GIMP 的 Luma channel 上使用了 Sobel 边缘检测器,然后进行了一些强度拉伸(stretch))。

map

building

如您所见,此处的 alpha channel 已变得无关紧要,因为大部分地形的强度已变为零,不会对互相关计算产生影响。所以现在可以直接应用互相关,得到所需的结果:

misha@misha-desktop:~/Desktop/stackoverflow$ python cross-correlation.py map-blue.png building-maskz-blue.png 
(163, 244)

最后,这是 another related question

附言。这是什么游戏?

关于image-processing - OpenCV 模板匹配和透明度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4761940/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com