【OpenCV】常见问题及解决办法

文章目录

  • 0 前言
  • 1 中文乱码问题
  • 2 非法路径问题

0 前言

  本篇博客主要是总结OpenCV使用过程中遇到的一些问题,以及对应的解决办法,这里重点是关注OpenCV,既有基于C++的,也有基于Python的,比较全面,而且也会随着我的学习经历不断更新。

OpenCV环境配置相关:

  • 【项目实践】海康威视工业相机SDK开发小白版入门教程(VS2015+OpenCV4.5.1)
  • 【Tools】这一次,彻底搞懂VS Code、C/C++、OpenCV

1 中文乱码问题

  OpenCV对中文的支持很不好,比如显示图片的窗口名不能是中文,否则会出现乱码;同样,读取和保存的图片路径中也不能包含中文,否则会报错。
  不过貌似基于VS配置的OpenCV能够解决这个问题,可能是因为使用的编译器不一样的缘故,VSCode配置OpenCV一般使用的是MinGW这一套编译器,而VS配置的使用的是微软的MSVC编译器。
  出现乱码是因为VS默认的编码方式为GBK/GB2312,而OpenCV需要的编码方式为UTF-8,而且注意是“with BOM”版本,否则对于OpenCV代码会报错 “c2001 常量中有换行符”
  但每次手动更改文件的编码方式有点麻烦,这里推荐安装一个插件:
在这里插入图片描述

在这里插入图片描述

  对于python中的OpenCV,一开始以为编码方式会比较兼容,但是很遗憾,在python-opencv中,窗口名设置为中文仍然会乱码。

2 非法路径问题

  读取和保存图片不能有中文这是一个经典问题了,但是没想到的是,OpenCV对于非法路径似乎处理得不够好。
  之前无意间遇到一个问题,那就是在python中使用opencv保存图片老是不执行,也不报错。但是换一个一般的文件名又能够保存,后来经过测试发现应该是文件路径的问题,不是有中文,而是有冒号。通过查找资料才知道,Windows中文件路径不能包含冒号,因为冒号有其他的含义。记录一下,这种问题确实有点少见。

参考链接

你可能感兴趣的:(Coding,opencv,人工智能,计算机视觉,问题解决)