使用Python+opencv2时的文件命名及路径问题

Posted leflew

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Python+opencv2时的文件命名及路径问题相关的知识,希望对你有一定的参考价值。

  最近在做一个数字图像的小项目,在最后的界面与程序结合阶段总是出现单个程序可以运行,但是使用界面传递的参数就运行不了的情况。在网上查了很多相关错误,最终确定是文件命名问题。

错误如下:

cv2.error: OpenCV(3.4.1) C:Miniconda3conda-bldopencv-suite_1533128839831workmodulesimgprocsrccolor.cpp:11214: error: (-215) (scn == 3 || scn == 4) && (depth == 0 || depth == 5) in function cv::cvtColor

  出现这种错误原因是文件命名中含有中文名或者其他cv2中不支持的符号格式,解决方法可以考虑改变命名的编码格式,修改字符型为整型等。

#将cv2.imread变为可读取中文路径的cv_imread()
def cv_imread(filePath):
cv_img=cv2.imdecode(np.fromfile(filePath,dtype=np.uint8),-1)
#imdecode读取的是rgb,如果后续需要opencv处理的话,需要转换成bgr,转换后图片颜色会变化
#cv_img=cv2.cvtColor(cv_img,cv2.COLOR_RGB2BGR)
return cv_img

另外,文件的路径写法也尤其重要,一般系统的路径写法为“C:Users27489Desktop”,在python中‘’为转义字符,如果路径中继续使用的话,可能会引起歧义,所以建议python中的路径统一使用‘/’或者‘\’。







以上是关于使用Python+opencv2时的文件命名及路径问题的主要内容,如果未能解决你的问题,请参考以下文章

如何查看Python3安装及第三方库路径

opencv 用到哪些头文件

Python模块调用时的路径查找

无法使用 opencv2 打开视频

Python3的pathlib模块:驯服文件系统

如何使用C语言进行文件的重命名及删除操作?