Python OpenCv,仅读取图像部分

3 投票
1 回答
9968 浏览
提问于 2025-04-18 07:38

我有成千上万张大的 .png 图片(截图)。我正在使用 opencv 对每张图片的一小部分进行图像识别。目前我在做:

    image = cv2.imread(path)
    x,y,w,h = bounds
    image = image[y:y + h, x:x + w]

性能分析工具告诉我,cv2.imread 是一个瓶颈。我在想,是否可以通过只读取我感兴趣的那部分图片,而不是先加载整张图片再裁剪,来让脚本运行得更快。不过,我找不到 OpenCV 有这样的选项。我是不是漏掉了什么?

1 个回答

1

据我所知,OpenCV 里没有办法做到这一点。不过我在这里找到了解决办法:在 Python 中只加载图像的一部分

简单来说,使用 PIL 来保存你想要的那部分区域,在生成截图的时候就可以了。

撰写回答