cv.imshow('原图img', img)
请问标题中文乱码怎么解决呢!
以下回答参考GPT并且由Bony-整理:
在Python中使用OpenCV库的imshow函数显示图像时,标题中文乱码问题通常是由于字符编码不一致导致的。为了解决这个问题,您可以尝试以下两种方法:
设置matplotlib的默认字体
OpenCV库可以使用matplotlib库来绘制图像。因此,您可以通过设置matplotlib库的默认字体来解决中文乱码问题。您可以在代码中添加以下语句:
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'SimHei' # 设置字体为中文黑体
这会将字体设置为中文黑体,可以解决中文乱码问题。
使用cv2.putText函数添加中文标题
另一种解决中文乱码问题的方法是使用cv2.putText函数手动添加标题。您可以在代码中添加以下语句:
import cv2
img = cv2.imread('image.jpg')
cv2.putText(img, '中文标题', (10, 50), cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 255, 255), 2)
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
这会在图像上添加一个中文标题,并可以解决中文乱码问题。
希望这些方法可以帮助您解决OpenCV imshow标题中文乱码的问题。
cv2.imshow('new_img', img)
设置窗口等待,如果不设置,窗口会一闪而过;
cv2.waitKey(0)# 窗口等待命令 0表示无限等待
cv2.destroyAllWindows()
希望能对您有所帮助
import numpy as np
import cv2 as cv
def zh_ch(string):
return string.encode("gbk").decode(errors="ignore")
img = np.zeros((512,512,3), np.uint8)
cv.imshow(zh_ch('图片'),img)
cv.waitKey(0)
cv.destroyWindow('image')