cv2.error: OpenCV(4.3.0) ../opencv_contrib/modules/dnn_superres/src/dnn_superres.cpp:97: error: (-2:Unspecified error) Model not specified
cv2.error: OpenCV(4.3.0) ../opencv_contrib/modules/dnn_superres/src/dnn_superres.cpp:97: error: (-2:Unspecified error) Model not specified
我正在试用这篇文章;
https://towardsdatascience.com/deep-learning-based-super-resolution-with-opencv-4fd736678066
这是从文章中复制出来的代码;
导入cv2
从 cv2 导入 dnn_superres
sr = dnn_superres.DnnSuperResImpl_create()
图片=cv2.imread('./input.png')
路径="EDSR_x3.pb"
sr.readModel(路径)
sr.setModel("edsr", 3)
结果 = sr.upsample(图片)
cv2.imwrite("./upscaled.png", 结果)
我也试过opencv超分辨率教程;
https://docs.opencv.org/master/d5/d29/tutorial_dnn_superres_upscale_image_single.html
导入cv2
从 cv2 导入 dnn_superres
sr = dnn_superres.DnnSuperResImpl_create()
图片=cv2.imread('./image.png')
路径="EDSR_x4.pb"
sr.readModel(路径)
sr.setModel("edsr", 4)
结果 = sr.upsample(图像)
cv2.imwrite("./upscaled.png", 结果)
我的环境是anaconda3 opencv 4.3.0。
我要么从标题中得到错误,要么在我 运行 opencv 示例 .
时得到 "killed"
*我的文件目录都在示例代码的同一层。我只想更改我的图像文件名。
我确实尝试从 cmake 编译 opencv 和 opencv_contrib 但是,我不知道如何让 python 从源代码引用 opencv 和 opencv_contrib。
我按照本文档从源代码安装 opencv;
https://d*ocs.opencv.org/3.4/d2/de6/tutorial_py_setup_in_ubuntu.html
我选择使用 anaconda 包装 opencv 4.3.0 因为我 运行 有太多的依赖和错误安装的包问题。
我参加聚会的朋友成功地应用了文章中的代码,就像文章描述的那样,而我试图完全按照他所做的,使用 anaconda 环境。我的问题是否源于我的虚拟环境或 opencv 包版本或代码本身?我确实有另一个同事 运行 我的代码来自我的 github b运行ch,他遇到了我完全相同的问题。我应该如何处理我遇到的错误并应用我发现的超分辨率示例?
错误'Model not specified' 是因为网络是空的。您必须实际下载 the model,然后提供 'sr.readModel()' 函数的路径。
如果你这样做了,但还是不行,你可以试试这两种方法:
试试小一点的图片(.png 格式)。
从 source. Do not forget the contrib modules (this is where the dnn_superres module resides). You said you had a problem linking python. I would suggest to use this tutorial 构建 OpenCV。完成该教程后,执行以下命令(在您已经执行 sudo make install
之后)到 link python 库:
sudo ldconfig
我正在试用这篇文章;
https://towardsdatascience.com/deep-learning-based-super-resolution-with-opencv-4fd736678066
这是从文章中复制出来的代码;
导入cv2 从 cv2 导入 dnn_superres
sr = dnn_superres.DnnSuperResImpl_create()
图片=cv2.imread('./input.png')
路径="EDSR_x3.pb" sr.readModel(路径)
sr.setModel("edsr", 3)
结果 = sr.upsample(图片)
cv2.imwrite("./upscaled.png", 结果)
我也试过opencv超分辨率教程;
https://docs.opencv.org/master/d5/d29/tutorial_dnn_superres_upscale_image_single.html
导入cv2 从 cv2 导入 dnn_superres
sr = dnn_superres.DnnSuperResImpl_create()
图片=cv2.imread('./image.png')
路径="EDSR_x4.pb" sr.readModel(路径)
sr.setModel("edsr", 4)
结果 = sr.upsample(图像)
cv2.imwrite("./upscaled.png", 结果)
我的环境是anaconda3 opencv 4.3.0。 我要么从标题中得到错误,要么在我 运行 opencv 示例 .
时得到 "killed"*我的文件目录都在示例代码的同一层。我只想更改我的图像文件名。 我确实尝试从 cmake 编译 opencv 和 opencv_contrib 但是,我不知道如何让 python 从源代码引用 opencv 和 opencv_contrib。 我按照本文档从源代码安装 opencv; https://d*ocs.opencv.org/3.4/d2/de6/tutorial_py_setup_in_ubuntu.html
我选择使用 anaconda 包装 opencv 4.3.0 因为我 运行 有太多的依赖和错误安装的包问题。
我参加聚会的朋友成功地应用了文章中的代码,就像文章描述的那样,而我试图完全按照他所做的,使用 anaconda 环境。我的问题是否源于我的虚拟环境或 opencv 包版本或代码本身?我确实有另一个同事 运行 我的代码来自我的 github b运行ch,他遇到了我完全相同的问题。我应该如何处理我遇到的错误并应用我发现的超分辨率示例?
错误'Model not specified' 是因为网络是空的。您必须实际下载 the model,然后提供 'sr.readModel()' 函数的路径。
如果你这样做了,但还是不行,你可以试试这两种方法:
试试小一点的图片(.png 格式)。
从 source. Do not forget the contrib modules (this is where the dnn_superres module resides). You said you had a problem linking python. I would suggest to use this tutorial 构建 OpenCV。完成该教程后,执行以下命令(在您已经执行
sudo make install
之后)到 link python 库:
sudo ldconfig