opencv使用问题记录一二

opencv介绍

opencv是一个计算机视觉处理软件库,拥有强大的功能和高效的性能。

但是由于早期版本的原因,存在一些与目前主流使用不兼容的问题

问题与解决

RGB通道顺序

一般图片处理类库的通道顺序就是RGB,但是opencv的是反过来的,即BGR

如果需要对相关通道做计算、在其他类库中调用,则需要进行通道转换

cv2.cvtColor(img,cv2.COLOR_BGR2RGB)

读取中文路径

opencv对中文支持是有问题的,对于utf8编码支持有问题,导致读取img对象是None

有个解决方法就是,先通过np将图像转为字节流形式,再给到opencv。这里我写了一个方法,后续直接调用这个方法即可

python 复制代码
import cv2
import numpy as np

def cv_imread(file_path):
    """
    读取图像,解决imread不能读取中文路径路径的问题
    :param file_path: 图像路径
    """

    buf=np.fromfile(file_path,dtype=np.uint8)
    
    #imdedcode读取的是RGB图像
    cv_img = cv2.imdecode(buf,-1)

    return cv_img

设置中文标题

思路基本是绕过直接使用opencv的方法。同样写了一个方法

python 复制代码
import win32gui
# import win32con

def cv_set_titile(oldTitle,newTitle='中文',oneRun=False):
    """
    设置窗口标题
    :param oldTitle: 旧标题
    :param newTitle: 新标题
    :param oneRun: 是否只运行一次
    :return:
    """
    if oneRun == False:
        # 根据窗口名称查找其句柄 然后使用函数修改其标题
        # 尽量选择一个不常见的英文名 防止误该已有#的窗口标题 初始化时通常取无意义的名字  比如这里取'aa'
        handle = win32gui.FindWindow(0, oldTitle)
        win32gui.SetWindowText(handle, newTitle)
        oneRun= True
    return oneRun

调用

python 复制代码
    cv2.imshow("aaa", img)
    cv_set_titile("aaa", newTitle='中文标题')

注意这里是通过标题找到对应窗口,调用windows api去修改窗口标题的,需要尽量避免标题有一样的,这样就可能出问题。或者直接设置为guid的,这样容错率更好。

图片内容中文

这块可以直接看如下链接

【OpenCV】学习课-图像添加文字(3)!_cv2添加文字-CSDN博客https://blog.csdn.net/pengneng123/article/details/130646667

相关推荐
不吃紫菜5 小时前
LangGraph 体系实战(下):中断恢复、流式、子图与设计模式
ai
Dev_XH9 小时前
【成品设计】基于CH32H417的CH32H417AIOT家庭微电网
单片机·嵌入式硬件·物联网·ai
我才是银古10 小时前
我把DSH当工位用了64天
ai·deepseek·deepseek-harness
菩提小狗12 小时前
每日极客日报 · 2026年11月09日
ai·开源·极客日报·it热点·技术资讯
GISer_Jing13 小时前
Agent相关岗位时收集的各类技术面试题
后端·ai·langchain
观察世界13 小时前
字节 Seed 发布 Seedream 5.5:同一张图可编辑 100 轮,严重文字损坏率降至 0.4%
科技·ai
DQQzero14 小时前
0.16 元/秒的短剧流水线:即梦短剧工作室把 AI 视频生产改成了什么样
人工智能·ai·aigc·视频生成
GISer_Jing15 小时前
AI Agent秋招面试万字通关指南|架构、ReAct、上下文工程、RAG、评测、生产运维全解
后端·ai·langchain
装不满的克莱因瓶15 小时前
【SpringAI Alibaba】ReactAgent结构化输出OutputType与OutputSchema实战
java·人工智能·ai·springai·springaialibaba
装不满的克莱因瓶17 小时前
【SpringAI Alibaba】ReactAgent响应SSE实时流式传输案例实战
java·人工智能·ai·sse·springai