繁体   English   中英

OpenCV Python无法从路径中有空格的外部硬盘读取图像

[英]OpenCV Python can't read image from external HDD with white spaces in path

编辑:
同时,我发现问题是路径+外部磁盘中的OpenCV + Spaces的组合。 删除任何元素都可以解决问题,因此当前目标只是试图为这种组合找到解决方案。
操作系统是 Windows

已经尝试过:

  • r 字符串r"TEXT"
  • \\\\更改为/
  • 双引号"\\"TEXT\\"\\"
  • os模块os.path.normpath(PATH)os.path.join([HALF, HALF])

我无法使用Python-OpenCV从我的外部硬盘加载图像。
我可以使用所有osopen Python 函数,例如从硬盘读取.TXT文件和list / walk目录,但是当我尝试使用cv2.imread加载图像cv2.imread我得到一个None对象...
文件路径以 Python 友好的方式编写(使用“\\”而不是“”),它适用于使用open(path, "rb")以二进制形式读取图像

我还阅读了 OpenCV 文档并尝试了 Google 和 StackOverflow,但我没有找到任何有我问题的人,所以我对接下来要尝试的内容有点迷茫......

import cv2
image = cv2.imread("G:\\Fotografias e Vídeos\\[...]\\11009982_1254240047936434_1963406974405452579_n.jpg")
print(image)
cv2.imshow("d", image)
# Output
None
Traceback (most recent call last):
  File "C:\Users\[NAME]\Documents\Python\test.py", line 4, in <module>
    cv2.imshow("d", image)
cv2.error: OpenCV(4.2.0) C:\projects\opencv-python\opencv\modules\highgui\src\window.cpp:376: error: (-215:Assertion failed) size.width>0 && size.height>0 in function 'cv::imshow'

在尝试通过反复试验来解决这个问题时,我发现了一些不能完全解决问题但几乎足够好的解决方法。

如果将脚本复制粘贴到硬盘路径中的某个位置并从内部运行它,OpenCV 可以正常读取图像。

正如我所说,这还不理想,所以如果您有从 PC 内部运行脚本以打开外部源图像的解决方案,请分享。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM