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

nbr*_*bro 5 python opencv pip

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

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

cv2.imread(cv2.samples.findFile('box.png'))
Run Code Online (Sandbox Code Playgroud)

但是,我收到以下错误

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
Run Code Online (Sandbox Code Playgroud)

我正在使用Python 3.7.5。

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

Yau*_*dan 6

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

cv2.samples.addSamplesDataSearchPath
Run Code Online (Sandbox Code Playgroud)

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

cv2.samples.addSamplesDataSearchPath('.../Desktop/opencv-4.4.0/samples/data')
Run Code Online (Sandbox Code Playgroud)

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

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


小智 -2

这是代码的示例

cap = cv2.imread("C:/Users/user/Desktop/Program2/step3/box.png")
Run Code Online (Sandbox Code Playgroud)

您可以将此部分 C:/Users/user/Desktop/Program2/step3/ 更改为包含图片的文件夹