解决OpenCV不可以读取中文路径问题

使用OpenCV时读取中文路径时可能会出错

方法一:在代码最上方加入

# -*- coding: utf-8 -*-

很多博主介绍了这种方法,但这个方法不适用我的代码

方法二:进行unicode编码

path=unicode(files_path,"utf-8")

方法三:用raw_input方式输入路径,路径中可以含有中文

path = raw_input(u"请输入文件目录:")
filenames = os.listdir(path)

方法四: 利用np.fromfile 和 cv2.imdecode 来实现中文路径的读取

这个方法在我的代码中起作用了

import cv2
	# 原始代码,出现中文路径读取问题
    def imread(self, path):
        img = cv2.imread(path)
        img = cv2.cvtColor(img,cv2.COLOR_BGR2RGB)
import cv2
import numpy as np
	# 修改后代码,问题解决,正常读取中文路径
    def imread(self, path):
        img = cv2.imdecode(np.fromfile(path, dtype=np.uint8), cv2.IMREAD_COLOR)
        img = cv2.cvtColor(img,cv2.COLOR_BGR2RGB)

参考链接

你可能感兴趣的:(中文路径,opencv,计算机视觉,python)