首页 > 解决方案 > 如果 OpenCV 是用 pip 安装的,有没有办法从“samples”文件夹中读取图像?

问题描述

如果 OpenCV 是用 pip 安装的,有没有办法从“samples”文件夹中读取图像?

我正在尝试通过以下 Python 代码使用 OpenCV 包文件夹中的图像之一(例如, box.pngsamples

cv2.imread(cv2.samples.findFile('box.png'))

但是,我收到以下错误

OpenCV 示例:找不到所需的数据文件:函数“findFile”中的 box.png

为什么?我该如何解决?

我正在使用以下版本的软件包(为了可重复性),它们是随以下版本一起安装的pip

opencv-contrib-python         3.4.2.16
opencv-contrib-python-nonfree 4.1.1.1 
opencv-python                 3.4.2.16

我正在使用 Python 3.7.5。

请不要告诉我使用其他版本的 OpenCV 或任何其他库。

标签: pythonopencvpip

解决方案


我在我的 Mac 上遇到了同样的问题。所以为了解决这个问题,我使用了

cv2.samples.addSamplesDataSearchPath

例如,我手动添加了示例数据的新路径

cv2.samples.addSamplesDataSearchPath('.../Desktop/opencv-4.4.0/samples/data')

如果找不到您的示例/数据文件夹,您可以从以下位置下载: github.com/opencv/opencv/tree/master/samples/data

在这里您可以找到有关此功能的更多信息: docs.opencv.org/master/d6/dba/group__core__utils__samples.html


推荐阅读