首页 > 编程语言 >python opencv cv2.putText()显示中文问题

python opencv cv2.putText()显示中文问题

时间:2023-04-08 23:22:05浏览次数:45  
标签:putText img python text frame cv2 opencv import cv

完整代码如下:

(其中cv2AddChineseText为封装代码)

import cv2 as cv
from PIL import Image, ImageDraw, ImageFont
import numpy as np
# encoding:utf-8
import base64
import requests
def cv2AddChineseText(img, text, position, textColor=(0, 0, 255), textSize=15):
    if (isinstance(img, np.ndarray)):  # 判断是否OpenCV图片类型
        img = Image.fromarray(cv.cvtColor(img, cv.COLOR_BGR2RGB))
    # 创建一个可以在给定图像上绘图的对象
    draw = ImageDraw.Draw(img)
    # 字体的格式
    fontStyle = ImageFont.truetype(
        "simsun.ttc", textSize, encoding="utf-8")
    # 绘制文本
    draw.text(position, text, textColor, font=fontStyle)
    # 转换回OpenCV格式
    return cv.cvtColor(np.asarray(img), cv.COLOR_RGB2BGR)

camera=cv.VideoCapture(0)
face_detect=cv.CascadeClassifier('D:/opencv/opencv-4.7.0-windows/opencv/sources/data/haarcascades_cuda/haarcascade_frontalface_alt2.xml')
while True:
    flag,frame=camera.read()
    gray=cv.cvtColor(frame,cv.COLOR_BGR2GRAY)
    faces=face_detect.detectMultiScale(gray)
    for x,y,w,h in faces:
        cv.rectangle(frame,(x,y),(x+w,y+h),(0,255,0),2,1)
        frame1=cv2AddChineseText(frame,"彭锁群", (x, y),(255, 0, 0), 30)
        cv.imshow("我的照片", frame1)
    key=cv.waitKey(1)
    if key==ord("q"):
        break
camera.release()
cv.destoryAllWindows()

 

标签:putText,img,python,text,frame,cv2,opencv,import,cv
From: https://www.cnblogs.com/pengsuoqun123/p/17299553.html

相关文章

  • Python ORM Pony MySQL数据库 常用操作
    Pony是一个高级的对象关系映射器ORM框架。Pony它能够使用Python生成器表达式和lambdas向数据库编写查询。Pony分析表达式的抽象语法树,并将其转换为SQL查询。支持SQLite,MySQL,PostgreSQL和Oracle等数据库,本文主要介绍PythonORMPony中MySQL数据库常用操作,及数据增加、删除、修......
  • 自学Python爬虫笔记(day4)
    环境python3.9版本及以上,开发工具pycharm 今天是对requests模块的应用实战,分别是爬取豆瓣电影TOP250的基本信息和电影天堂“2023必看热片”的名称及下载地址。具体如下:'''爬取豆瓣电影TOP250的基本信息思路:1.拿到页面源代码2.编写正则,提取页面数据3.保存数据'''import......
  • python基础篇: python中的流程控制,你都了解吗?
    在之前的文章中大致的介绍过python中的流程控制语句,今天通过一些案例来详细了解一下python中的流程语句。目前python中流程控制语句,包含如下,如有遗漏欢迎留言补充。条件判断语句在python中条件判断语句包括了if、else、elif,还有在python3.10的版本新增了match-case语句。i......
  • Python开发遇到的一些问题
    1.SettingWithCopyWarning:AvalueistryingtobesetonacopyofaslicefromaDataFrame.Tryusing.loc[row_indexer,col_indexer]=valueinstead原因:python中的“变量”其实是一个“标签”,而不是一个“容器”。“链式索引”(chainedindexing)而引起的错误或警告!解决......
  • 分析以下数字的规律1 1 2 3 5 8 13 21用Python语言编程实现输出,此为斐波那契数列
    方法一:list1=[]#定义一个空列表foriinrange(15):#遍历语句循环15次ifi==0ori==1:#前两个数字的值都是1list1.append(1)#print(list1)else:list1.append(list1[i-1]+list1[i-2])print(list1)方法二:list1=[1,......
  • python 爬虫SSL错误是怎么回事?
    今天摸鱼(划掉)看道一个问题蛮有意思的,想来展开说说:别急,解决办法是有的。1.这个错误很可能是因为你正在尝试读取一个 JSON 格式的响应,但是实际返回的却是 HTML 格式的响应。我们检查一下我们的请求是否正确,并且确保请求的 URL 返回的是 JSON 格式的数据。如果确认请求 URL ......
  • 使用ChatGPT快速实现灰度和RGBA图片转换为RGB三通道图片的Python数据清洗demo
    使用ChatGPT快速实现灰度和RGBA图片转换为RGB三通道图片的Python数据清洗demo任务需求Imganet数据集,由于原始图片有灰度图片、彩色图片和RGBA图片,我们的要求是将灰度图片和RGBA图片通过Image.open(img_path+img_name).convert('RGB')转换为RGB三通道图片重新保存起来。要求点......
  • mac python 安装mysqlclient的问题
    问题1: 无法安装mysqlclient报错信息:   解决方法:1. 安装mysql-clientbrewinstallmysql-client2、配置环境变量vi~/.bash_profileexportPATH=/opt/homebrew/opt/mysql-client/bin:$PATHsource~/.bash_profile3、安装mysqlclientpipinsta......
  • Python 进阶指南(编程轻松进阶):十四、实践项目
    原文:http://inventwithpython.com/beyond/chapter14.html到目前为止,这本书已经教会了你编写可读的Python风格代码的技巧。让我们通过查看两个命令行游戏的源代码来实践这些技术:汉诺塔和四人一排。这些项目很短,并且基于文本,以保持它们的范围较小,但是它们展示了本书到目前为......
  • Python 进阶指南(编程轻松进阶):十七、Python 风格 OOP:属性和魔术方法
    原文:http://inventwithpython.com/beyond/chapter17.html很多语言都有OOP特性,但是Python有一些独特的OOP特性,包括属性和魔术方法。学习如何使用这些Python风格技巧可以帮助您编写简洁易读的代码。属性允许您在每次读取、修改或删除对象的属性时运行一些特定的代码,以......