gpt4 book ai didi

python - 函数显示错误

转载 作者:行者123 更新时间:2023-12-02 17:41:07 25 4
gpt4 key购买 nike

我正在尝试使用HOG + SVM方法制作自定义对象检测器(椅子)。我的行动计划是:

  • 循环浏览我的文件夹
  • 中的图像
  • 读取并调整大小
  • 使用hog.compute()函数
  • 将它们转换为 vector
  • 然后将它们存储到数据文件


  • 如果一切顺利,我的SVM分类器将处理其余的工作。

    然后,理想情况下,它将能够识别通过我的网络摄像头显示的椅子。

    这是我要使用的代码(仅初始位):
    import cv2
    import os
    import numpy as np

    def loadimg():

    for i in range(0,19):
    image = cv2.imread(str(i))
    cv2.imshow("img",image)
    (winW, winH) = (500, 500)
    r = 128.0 / image.shape[1]
    dim = (128, int(image.shape[0] * r))
    img = cv2.resize(image, dim, interpolation = cv2.INTER_AREA)
    return img

    def hoggify(img):
    imeg = hog.compute(img)
    return imeg

    for fn in os.listdir('/Users/munirmalik/cvprojek/cod'):
    loadimg()
    hoggify(imeg)
    np.savetxt('data.txt')

    这是我得到的错误:
    cv2.error: /Users/munirmalik/opencv/modules/highgui/src/window.cpp:304: error: (-215) size.width>0 && size.height>0 in function imshow

    我已经搜索了这个错误,它说imread()不能读取我的图像,我认为这与loadimg()函数中的for循环有关。

    有人可以帮我吗?另外,如果您能想到更好的方法来进行此操作,请告诉我:)

    最佳答案

    这是您代码中的错误

       for i in range(0,19):
    image = cv2.imread(str(i))

    这将转换为 cv2.imread("0")。需要向 cv2.imread()函数传递一个图像地址,例如“path / to / image.jpg”。我不确定您的图像在文件结构中的排列方式,但是 cv2.imread()的参数应该以JPG,PNG等文件扩展名结尾

    根据OP的评论,代码应更改为:
       for i in range(0,19):
    image = cv2.imread(r"/Users/munirmalik/cvprojek/cod/chairs/" + str(i)+ ".jpg")

    关于python - 函数显示错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44974093/

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