首先python的opencv函数对中文支持不太友好。例如:imread()和imwrite()就不能写中文。
这里对这两个方法进行改造,使之支持中文文件名。
def cv_imwrite(filename,img):
'''
:param filename: 要写出的文件名
:param img: 要写出的图像数据
:return: 无
'''
cv2.imencode(ext='.jpg',img=img)[1].tofile(filename)
def cv_imread(file_path):
'''
:param file_path: 读入的图像文件路径
:return: 读入的图像数据
'''
cv_img=cv2.imdecode(np.fromfile(file_path,dtype=np.uint8),flags=cv2.IMREAD_GRAYSCALE)
return cv_img
imshow()的标题也不支持中文,一个蹩脚且偶然可行的方案:
cv2.imshow(winname="原图".encode('gbk').decode(errors='ignore'), mat=src)
def erode(src: Any,
kernel: Any,
dst: Any = None,
anchor: