OpenCV这么简单为啥不学——1.5、解决putText中文乱码问题

这篇具有很好参考价值的文章主要介绍了OpenCV这么简单为啥不学——1.5、解决putText中文乱码问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

imgproc.puttext 中文乱码,OpenCV技术点检索专栏,opencv,计算机视觉,人工智能,python,图像处理

OpenCV这么简单为啥不学——1.5、解决putText中文乱码问题


目录

OpenCV这么简单为啥不学——1.5、解决putText中文乱码问题

前言

putText中文乱码问题

putText中文乱码解决方案

中文实例

总结


前言

计算机视觉市场巨大而且持续增长,且这方面没有标准API,如今的计算机视觉软件大概有以下三种:

1、研究代码(慢,不稳定,独立并与其他库不兼容)
2、耗费很高的商业化工具(比如Halcon, MATLAB+Simulink)
3、依赖硬件的一些特别的解决方案(比如视频监控,制造控制系统,医疗设备)这是如今的现状,而标准的API将简化计算机视觉程序和解决方案的开发,OpenCV致力于成为这样的标准API。

OpenCV致力于真实世界的实时应用,通过优化的C代码的编写对其执行速度带来了可观的提升,并且可以通过购买Intel的IPP高性能多媒体函数库(Integrated Performance Primitives)得到更快的处理速度。

故而我们选择学习OpenCV,我们来一步步的学习OpenCV。


putText中文乱码问题

cv2.putText(img, "中文", (300, 200), cv2.FONT_HERSHEY_COMPLEX, 1, (250, 250, 250), 3)

例如以上代码,我们使用cv2.putText写入中文的时候显示的两个问号,这是无法接收的,我们要想办法解决。

imgproc.puttext 中文乱码,OpenCV技术点检索专栏,opencv,计算机视觉,人工智能,python,图像处理

putText中文乱码解决方案

1、我们可以通过【cvtColor()】先将图片处理成【COLOR_BGR2RGB】类型。

2、【Image.fromarray()】转成数组处理

3、【ImageDraw.Draw(img)】绘制

4、【ImageFont.truetype】字体格式化

5、【draw.text()】绘制文字

6、最后使用【cvtColor()】最终返回img图片类型

中文实例

import cv2
import numpy as np
from PIL import Image, ImageDraw, ImageFont

img = cv2.imread("800_600.jpg")

def draw_box_string(img, x, y, string):
    """
    img: imread读取的图片;
    x,y:字符起始绘制的位置;
    string: 显示的文字;
    return: img
    """
    img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
    img = Image.fromarray(img)
    draw = ImageDraw.Draw(img)
    # simhei.ttf 是字体,你如果没有字体,需要下载
    font = ImageFont.truetype("simhei.ttf", 50, encoding="utf-8")
    draw.text((x, y - 50), string, (255, 255, 255), font=font)
    img = cv2.cvtColor(np.array(img), cv2.COLOR_RGB2BGR)
    return img


# 三基色=白色
img = draw_box_string(img, 300, 200, "红袖添香")
# 显示图片
cv2.imshow("image", img)
cv2.waitKey(0)

实际效果:

imgproc.puttext 中文乱码,OpenCV技术点检索专栏,opencv,计算机视觉,人工智能,python,图像处理

总结

我们不是代码的编造者,我们只是代码的搬运工,当遇到自己决绝不了的问题的时候千万别不好意思文人,但是文人之前是不是能来咱们CSDN平台搜索一下呢,其实大神只是比咱们搜的多而已。文章来源地址https://www.toymoban.com/news/detail-784687.html

到了这里,关于OpenCV这么简单为啥不学——1.5、解决putText中文乱码问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Opencv cv2.putText 函数详解

    Opencv cv2.putText 函数详解

    具体函数如下: 函数源码如下: 对应的参数如下: 参数 具体表述 image 绘制的图像 text 绘制的文本 org 文本在图像中显示的坐标,用元组表示格式为(X坐标,Y坐标) font 文本字体类型,值可以为 FONT_HERSHEY_SIMPLEX 、 FONT_HERSHEY_PLAIN fontScale 字体比例因子乘以font-specific基本大小 c

    2024年02月09日
    浏览(39)
  • 就是这么简单,Selenium StaleElementReferenceException 异常分析与解决

    就是这么简单,Selenium StaleElementReferenceException 异常分析与解决

    简介 Selenium 是一个流行的自动化测试工具,用于模拟用户与网页交互。然而,当我们在使用 Selenium 时,可能会遇到一个常见的异常,即 StaleElementReferenceException 。这个异常通常在我们尝试与网页上的元素交互时抛出,可能会导致我们的自动化测试脚本运行失败。本文将深入探

    2024年04月14日
    浏览(11)
  • OpenCV使用putText将文字绘制到图像上
  • 【运维心得】解决宽带IP无法ping通竟这么简单

    【运维心得】解决宽带IP无法ping通竟这么简单

    本篇主要记录一次电信宽带动态IP地址无法ping通的解决案例。通过这个案例,可以深入了解目前国内电信动态IP地址的分配机理,从而在实际企业组网过程中,能够实施对应的方案。 目录 历史背景 实际案例 主要原因 CGN是什么 国内主要的企业宽带分为两种方式:路由和桥接

    2024年04月27日
    浏览(14)
  • 【OpenCV】图像上绘制文字cv2.putText()函数用法,添加倾斜透明水印

    【OpenCV】图像上绘制文字cv2.putText()函数用法,添加倾斜透明水印

    在OpenCV中,调用cv2.putText()函数可添加文字到指定位置,对于需要在图片中加入文字的场景提供了一种比较直接方便的方式。 注意:OpenCV 不支持显示中文字符,使用 cv2.putText() 时添加的文本字符串不能包含中文字符(包括中文标点符号) 其函数原型如下所示: 上述参数分别

    2024年02月04日
    浏览(36)
  • 【C++的OpenCV】第十五课-OpenCV的绘图工具(rectangle、circle、line、polylines、putText)常用方法简介

    【C++的OpenCV】第十五课-OpenCV的绘图工具(rectangle、circle、line、polylines、putText)常用方法简介

    🎉🎉🎉 欢迎各位来到小白 p i a o 的学习空间! color{red}{欢迎各位来到小白piao的学习空间!} 欢迎各位来到小白 p ia o 的学习空间! 🎉🎉🎉 💖 C++Python所有的入门技术皆在 我的主页 color{#0cc123}{我的主页} 我的主页 :我的主页 1.1.1 利用构造函数Mat中的一些形式完成快速创

    2024年02月06日
    浏览(12)
  • 可视化大屏的终极解决方案居然这么简单,vue-autofit一行全搞定!

    可视化大屏的终极解决方案居然这么简单,vue-autofit一行全搞定!

    可视化大屏的适配是一个老生常谈的话题了,现在其实不乏一些大佬开源的自适应插件、工具但是我为什么还要重复造轮子呢?因为目前市面上适配工具每一个都无法做到完美的效果,做出来的东西都差不多,最终实现效果都逃不出白边的手掌心,可以解决白边问题的,要么

    2023年04月23日
    浏览(11)
  • opencv显示图像中文标题乱码解决

    opencv显示图像中文标题乱码解决

    最终解决效果: 解决方法:通过指定编码返回字符串 完整示例代码: c++默认支持中文,直接调用imshow可显示 C++示例代码: 命令行执行python代码:

    2024年02月11日
    浏览(9)
  • 简单解决jsp中文乱码问题

    初学jsp制作一个简单的响应页面 具体代码如下: 保存为test.jsp文件,启动tomcat访问,出现下图: 在框内输入:vae 出现下图: 可是\\\"username\\\"看起来实在不舒服,决定将它改成\\\"用户名\\\" 这时问题出现: 本该出现\\\"用户名\\\"的地方出现了一串乱码: 所谓响应中的乱码,就是显示页面

    2024年02月16日
    浏览(14)
  • opencv的cv2.imread解决中文路径问题

    cv2.imread()读取不了中文路径,但是cv2.imdecode可以解码 拓展: cv2.imdecode(…)/cv2.imencode(…)传入参数为包含图像文件内容的内存buffer,为整个文件的内容,包含格式说明、图像数据等等,并非只有图像像素数据。 语法如下: 1 imdecode(buf, flags)        buf: 包含图像文件的buffer  

    2024年04月12日
    浏览(7)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包