首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenCV(3.4.2):使用模板匹配方法的错误:(-215:断言失败)

OpenCV(3.4.2):使用模板匹配方法的错误:(-215:断言失败)
EN

Stack Overflow用户
提问于 2019-11-25 11:58:25
回答 1查看 675关注 0票数 1

我使用规范化作为模板匹配的预处理方法。但是,当我运行代码时,遇到了一个错误。

/opt/concourse/worker/volumes/live/9523d527-1b9e-48e0-7ed0-a36adde286f0/volume/opencv-suite_1535558719691/work/modules/imgproc/src/templmatch.cpp:1102:错误:错误:错误: OpenCV(3.4.2) 错误:(-215:断言失败)(深度== 0=深度== 5) &函数'matchTemplate‘中的== _templ.type() & _img.dims() <= 2类型

这是我的预处理方法:

代码语言:javascript
复制
def Image_Preprocessing (image):
    Gray_image = cv2.cvtColor(image , cv2.COLOR_BGR2GRAY)  # converting the image to grayscale image
    resized_image = cv2.resize(Gray_image, (width, height))  # Resize the image 
    mean, stdDev = cv2.meanStdDev(resized_image)  #Get Mean and Standard-deviation
    Normalized_image = (resized_image-mean)/stdDev  #Normalize the image  
    # Scale the normalized values to integer range
    Normalized_image -= Normalized_image.min() 
    Normalized_image /= Normalized_image.max()
    Normalized_image *= 255 # [0, 255] range

    return  Normalized_image

我怎么能解决这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-25 12:25:47

无论如何,您应该验证@HansHirse的答案,如果问题甚至是您的预处理,您可以尝试如下:

代码语言:javascript
复制
def Image_Preprocessing (image):
    Gray_image = cv2.cvtColor(image , cv2.COLOR_BGR2GRAY)  # converting the image to grayscale image
    resized_image = cv2.resize(Gray_image, (width, height))  # Resize the image
    Normalized_image = np.array(np.divide(resized_image, np.amax(resized_image)), dtype=np.float64) # Normalizes to float 0 - 1, ensure float
    # Scale the normalized values to integer range
    Normalized_image *= 255 # [0, 255] range
    Normalized_image = np.uint8(Normalized_image)

    return  Normalized_image

这将返回一个uint8图像,如果您的模板也是uint8,就不会出现问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59031343

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档