因此,我有一个变量,它将图像路径作为字符串保存。但是,在使用路径变量读取图像时,我得到了下面的错误。路径变量来自调用此代码的另一个函数。
错误:
can't open/read file: check file path/integrity
我的代码:
path = "D://dev//py_scripts//SS1.jpg"
image=cv2.imread(path)
尝试了几种解决方案,但最终都出现了同样的错误。
发布于 2022-06-30 13:15:23
双正向斜杠使路径无效。
使用单个正斜杠。这在Windows上通常是可以容忍的,因为Windows本机希望反斜杠。
双back_slashes只是你的_see。它们实际上是path/string中的单个反斜杠,但是字符串语法需要用前面的反斜杠转义反斜杠(和其他东西),所以在大多数字符串文本中必须使用双反斜杠.
Python有“r-字符串”(“原始”字符串)。在原始字符串中,甚至反斜杠都是字面上的,没有什么是可以避免的(匹配的引号结束字符串,始终如此)。
"D:/dev/py_scripts/SS1.jpg"
r"D:\dev\py_scripts\SS1.jpg"
"D:\\dev\\py_scripts\\SS1.jpg"
发布于 2022-06-30 13:07:12
我建议修改路径的格式如下:
import cv2
#Several options
path = r"D:\dev\py_scripts\SS1.jpg"
path = r"D:/dev/py_scripts/SS1.jpg"
path = "D:/dev/py_scripts/SS1.jpg"
image=cv2.imread(path)
但是,根据所得到的错误,您需要检查图像的format
及其完整性,就像错误说的那样。这意味着您必须能够在像Windows这样的编辑器中打开图像,以检查文件是否已损坏。
发布于 2022-06-30 13:12:47
import cv2
path1= "SS1.jpg"
#sometimes doesnt work depends on the compiler. If its on sub folder #py_scripts\SS1.jpg
or
path2= "d:\dev\py_scripts\SS1.jpg"
image = cv2.imread(path2)
如果要使用path1方法,并将其设置为100%工作
import os
os.chdir(os.path.dirname(os.path.abspath(__file__)))
https://stackoverflow.com/questions/72816309
复制相似问题