解决CV2的读取路径问题
- 话不多说,上代码
import cv2 as cv
img=cv.imread('F:/data2/train/label/4564 炮兵乙 .jpg',0)
cv.imshow('xxxx',img)
cv.waitKey()
会报如下的错误
这是因为路径中存在中文,这在opencv读取时,确实让人头疼,如果数据量多了,或者图像名字包含了一些信息,就没法手动去更改了。此时可采用如下的代码来解决。
#读入
def cv_imread(file):
img = cv.imdecode(np.fromfile(file, dtype=np.uint8), -1)
return img
#保存
def cv_imwrite(filename, src):
cv.imencode(".jpg", src)[1].tofile(filename)
再把cv.imread换成cv_imread,即可出现图像。
总结:cv.imshow()的类似报错一般来说都是路径的问题,文件名中的字符,或者是路径中的’\‘与‘/’,在python中’/’==’\\’,具体使用看个人喜好,可参考这篇:
https://blog.csdn.net/weixin_44532540/article/details/100656838