xiaohuangnlxx 2022-04-02 20:55 采纳率: 66.7%
浏览 653
已结题

opencv裁剪之后出现报错'NoneType' object is not subscriptable

在图像处理的过程中读取图像之后并不会报错,但是裁剪之后会有'NoneType' object is not subscriptable的报错
问题相关代码,请勿粘贴截图
import cv2
import os
def cv_show(name, img):
    cv2.imshow(name, img)
    cv2.waitKey(10000)
    cv2.destroyAllWindows()
def orb_features(img):
    orb = cv2.ORB_create(
        4000,  # 特征点数目
        1.2,  # 金字塔层级之间的缩放比例
        8,  # 金字塔图像层级系数
        31,  # 边缘阈值
        0,  # 原图在金字塔中的层数
        2,  # 生成描述子时需要用的像素点数目
        cv2.ORB_HARRIS_SCORE,  # 使用Harris方法评价特征点
        31,  # 生成描述子时关键点周围邻域的尺寸
        20  # 计算FAST角点时像素值差值的阈值
    kp = orb.detect(img, None)
    kp, des = orb.compute(img, kp)
    return kp, des
if __name__ == '__main__':
    img_path = "D:/python/txsc"
    for img in range(648):
        img_name1 = f"{img}.jpg".rjust(10, "0")
        img_name2 = f"{img + 1}.jpg".rjust(10, "0")
        img_name1 = os.path.join(img_path, img_name1)
        img_name2 = os.path.join(img_path, img_name2)
        # 读取图片并截图
        img1 = cv2.imread(img_name1)[200:750, 450:1450]
        img2 = cv2.imread(img_name2)[200:750, 450:1450]
        print(img1)
        print(img2)
运行结果及报错内容
一开始以为是裁剪的大小大于了图片原本的大小,后来调出图片shape发现没有超过,打印查看与imshow都会出结果,但是这个报错不会消失
请问各位问题出在了哪里

0

  • 编辑 收藏 删除
  • 追加酬金 (90%的用户在追加酬金后获得了解决方案)

    当前问题酬金

    ¥ 0 (可追加 ¥500)

    支付方式

    扫码支付

    加载中...

    提供问题酬金的用户不参与问题酬金结算和分配

    支付即为同意 《付费问题酬金结算规则》

    3 条回答 默认 最新

    查看更多回答(-1条)

    报告相同问题?

    问题事件

    • (查看结题原因) 4月6日
    • 已采纳回答 4月4日
    • 修改了问题 4月2日
    • 创建了问题 4月2日

    悬赏问题

    • ¥20 Input Z must be 2D,not 3D Labwindows、研华PCI板卡 GEE海岸带养殖池塘遥感提取 stable diffusion创建embeddings失败 求用简单的例子来实现代码 python 调试(debug)时必在import库代码行报错,但是运行 (run)时是正常的,怎么办? 创建多线程锁链的疑问 SpringMVC基础问题,404无法访问,编译没问题