解决思路 先创建一个命名窗口 比如命名为‘aa’,然后使用Windows的api函数找到该窗口句柄,修改标题即可 注意 在循环部分一定保证只能运行该函数一次 因为第二次运行时候对已经修改的标题进行句柄查找会出错,因为标题已经被我们改了 例子 想该标题为中文名称“测试”, import cv2 import time import os import codecs import win32gui import win32con #参数是默认参数 可自行修改 def zh_ch_Titile(oldTitle,newTitle='中文',oneRun=False): if oneRun == False: #根据窗口名称查找其句柄 然后使用函数修改其标题 尽量选择一个不常见的英文名 防止误该已有#的窗口标题 初始化时通常取无意义的名字 比如这里取‘aa’ handle = win32gui.FindWindow(0, oldTitle) win32gui.SetWindowText(handle, newTitle) oneRun= True return oneRun widthCamara,heightCamara=640,480 cap=cv2.VideoCapture(0) cap.set(cv2.CAP_PROP_FRAME_WIDTH,widthCamara) cap.set(cv2.CAP_PROP_FRAME_HEIGHT,heightCamara) #先命名一个窗口 后面我们便通过aa名称能找到该窗口句柄 #事先随便取一个英文名字 “aa” cv2.namedWindow("aa") nameChanged=False while True: success,img=cap.read() cv2.imshow('aa', img) cv2.waitKey(1) #注意下面的是‘==’号 #也可以改为 #if not nameChanged: if nameChanged==False: nameChanged=zh_ch_Titile('aa',"测试",nameChanged)
cv2 imshow()中文标题乱码解决办法
于 2023-10-21 03:18:20 首次发布