python opencv matchTemplate是实现了掩码功能吗?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python opencv matchTemplate是实现了掩码功能吗?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1342字,纯文字阅读大概需要2分钟。
内容图文
![python opencv matchTemplate是实现了掩码功能吗?](/upload/InfoBanner/zyjiaocheng/754/9e1717aacf4a47cd89d09582401446ef.jpg)
OpenCV, as of version 3.0.0, added a mask feature到matchTemplate方法.它通过在模板上定义掩码来支持与透明模板的模板匹配.下面我的python程序工作正常,但是如果我在cv2.matchTemplate调用中添加一个mask参数,它会抛出一个错误:
OpenCV Error: The function/feature is not implemented () in matchTemplateMask, file /Users/jared.rada/dev/opencv/modules/imgproc/src/templmatch.cpp, line 894
Traceback (most recent call last):
File "masked.py", line 13, in <module>
res = cv2.matchTemplate(img, tmpl, cv2.TM_CCOEFF_NORMED, data, mask)
cv2.error: /Users/jared.rada/dev/opencv/modules/imgproc/src/templmatch.cpp:894: error: (-213) in function matchTemplateMask`
我的源代码:
import sys
import numpy as np
import cv2
img = cv2.imread('./image.jpg')
tmpl = cv2.imread('./tmpl.png')
mask = cv2.imread('./mask.png')
w, h = tmpl.shape[:-1]
data = np.zeros((h, w, 3), dtype=np.uint8)
res = cv2.matchTemplate(img, tmpl, cv2.TM_CCOEFF_NORMED, data, mask)
min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(res)
top_left = max_loc
bottom_right = (top_left[0] + w, top_left[1] + h)
cv2.rectangle(img, top_left, bottom_right, (0, 0, 255), 2)
cv2.imshow("images", np.hstack([img]))
cv2.waitKey(0)
我怎么知道python绑定是否支持掩码功能?
解决方法:
有一个简单的答案:看一下src code,你会发现,它只用于方法== CV_TM_SQDIFF和方法== CV_TM_CCORR_NORMED,换句话说,不是你想要的cv2.TM_CCOEFF_NORMED
内容总结
以上是互联网集市为您收集整理的python opencv matchTemplate是实现了掩码功能吗?全部内容,希望文章能够帮你解决python opencv matchTemplate是实现了掩码功能吗?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。