在cv2.imread(image_path)
时,如果遇到读取文件名含有非法字符,如cv2.imread('\udca9\udca6\udca5.jpg')
,会报错Segmentation fault. 这个问题很严重,因为会直接core dumped,无法在python代码中catch住。
解决方法是先用numpy读出来,然后转存为img的格式。实战中可以直接使用以下代码:
def cv_imread(file_path = ""):
img_mat=cv2.imdecode(np.fromfile(file_path,dtype=np.uint8),-1)
return img_mat
def cv_imwrite(file_path , frame ):
cv2.imencode('.jpg', frame)[1].tofile(file_path)
https://blog.csdn.net/babytiger/article/details/92797838