按模式查找布尔蒙版

按模式查找布尔蒙版,第1张

按模式查找布尔蒙版

最后,我们可以使用Scipy支持的二进制膨胀来简化事情-

from scipy.ndimage.morphology import binary_dilationm = (rolling_window(arr, len(pat)) == pat).all(1)m_ext = np.r_[m,np.zeros(len(arr) - len(m), dtype=bool)]out = binary_dilation(m_ext, structure=[1]*N, origin=-(N//2))

为了提高性能,我们可以引入具有模板匹配功能的OpenCV,因为我们在这里基本上是这样做的,就像这样-

import cv2tol = 1e-5pat_arr = np.asarray(pat, dtype='uint8')m = (cv2.matchTemplate(arr.astype('uint8'),pat_arr,cv2.TM_SQDIFF) < tol).ravel()


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5655093.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存