Python OpenCv,只读取图像的一部分

标签 python opencv

我有数千张大型 .png 图像(屏幕截图)。我正在使用 opencv 对每个图像的一小部分进行图像识别。我目前正在做:

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

探查器告诉我 cv2.imread 是一个瓶颈。我想知道我是否可以通过只读取我感兴趣的每个图像的部分而不是加载整个图像然后裁剪到边界来使脚本更快。不过,我找不到 OpenCV 标志。我错过了一个吗?

最佳答案

AFAICT,OpenCV 无法做到这一点。但我确实在这里找到了解决方案:Load just part of an image in python

在生成屏幕截图时,只需使用 PIL 保存裁剪后的感兴趣区域即可。

关于Python OpenCv,只读取图像的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23878165/

相关文章:

python - 将 lxml.objectify 的元素转回 XML

python - 在 Python 中使用 BeautifulSoup 4 从 div 标签中提取文本

python - OpenCV 问题 : FileNotFoundError: [WinError 2] The system cannot find the file specified

python - Siamese Network 上的损失不会减少

python - cv2.VideoWriter 的输出不正确。更快

python - 我可以实现自己的基于 Python 的 git merge 策略吗?

python - 使用 python 解析 xml,使用同级标签作为选择器选择标签

python - 在 Python 中将 USB 视频捕获设备友好名称与 OpenCV 端口号相关联

opencv - 如何从 ocl::PyrLKOpticalFlow::dense() 绘制光流图像

Python字典包含列表作为值 - 如何更新?