python idea控制台中文乱码_python 解决cv2绘制中文乱码问题
python 解決cv2繪制中文亂碼問(wèn)題
因?yàn)槭褂胏v2.putText() 只能顯示英文字符,中文會(huì)出現(xiàn)亂碼問(wèn)題,
因此使用PIL在圖片上繪制添加中文,可以指定字體文件。
大體思路:
OpenCV圖片格式轉(zhuǎn)換成PIL的圖片格式;
使用PIL繪制文字;
PIL圖片格式轉(zhuǎn)換成OpenCV的圖片格式;
具體實(shí)現(xiàn):
# coding=utf-8
# cv2解決繪制中文亂碼
import cv2
import numpy
from PIL import Image, ImageDraw, ImageFont
def cv2ImgAddText(img, text, left, top, textColor=(0, 255, 0), textSize=20):
if (isinstance(img, numpy.ndarray)): # 判斷是否OpenCV圖片類(lèi)型
img = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))
# 創(chuàng)建一個(gè)可以在給定圖像上繪圖的對(duì)象
draw = ImageDraw.Draw(img)
# 字體的格式
fontStyle = ImageFont.truetype(
"font/simsun.ttc", textSize, encoding="utf-8")
# 繪制文本
draw.text((left, top), text, textColor, font=fontStyle)
# 轉(zhuǎn)換回OpenCV格式
return cv2.cvtColor(numpy.asarray(img), cv2.COLOR_RGB2BGR)
if __name__ == '__main__':
img = cv2ImgAddText(cv2.imread('img1.jpg'), "大家好,我是片天邊的云彩", 10, 65, (0, 0 , 139), 20)
cv2.imshow('show', img)
if cv2.waitKey(100000) & 0xFF == ord('q'):
cv2.destroyAllWindows()
效果展示:
以上這篇python 解決cv2繪制中文亂碼問(wèn)題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持我們。
時(shí)間: 2019-12-22
首先,先確認(rèn)一下你的字段值是不是亂碼,如果是,按照以下方法: 我的字段值是來(lái)自于一個(gè)geojson字符串,我在對(duì)它解析時(shí)做了如下處理: properties = fea.get("properties") pro_json=json.dumps(properties) pro_json.replace('u\'','\'')#將unicode編碼轉(zhuǎn)化為中文先處理一下 pro_json=pro_json.decode("unicode-escape") #將unico
繪制圖形時(shí)使用了中文標(biāo)題,會(huì)出現(xiàn)亂碼 原因是matplotlib.pyplot在顯示時(shí)無(wú)法找到合適的字體. 先把需要的字體(在系統(tǒng)盤(pán)C盤(pán)的windows下的fonts目錄內(nèi))添加到FontProperties中. 具體解決方法如下: import matplotlib.pyplot as plt from matplotlib.font_manager import FontProperties font_set = FontProperties(fname=r"c:\windows\fonts
使用HTMLTestRunner輸出的測(cè)試報(bào)告中,標(biāo)題和錯(cuò)誤說(shuō)明的中文亂碼. 環(huán)境: python v3.6 HTMLTestRunner v0.8.2 定位問(wèn)題 剛開(kāi)始以為是python3對(duì)HTMLTestRunner文件兼容的問(wèn)題.網(wǎng)上搜了一些解決辦法基本都是說(shuō)python2的,對(duì)比看了一下,我這邊兼容性是可以的. 接下來(lái),查看HTMLTestRunner文件輸出,倒著去找,最后問(wèn)題定位到: self.stream.write(output) 這一行,print(output)是正常輸出中文
如下所示: #-*- coding:utf-8 -*- import numpy as np import matplotlib.pyplot as plt from matplotlib.font_manager import FontProperties #k與客戶(hù)端處理時(shí)間的值之間的關(guān)系 x=range(2,51,2) y1=[5.393128497232703, 9.57638681757734, 13.828038570286598, 17.88060602988053, 22.943
今天在用python3+ImageFont輸出中文時(shí),結(jié)果顯示亂碼 # coding:utf-8 from PIL import Image, ImageDraw, ImageFont image= Image.new('RGB', (559, 320),(255,255,255)) draw = ImageDraw.Draw(image) # draw.text() font = ImageFont.truetype("arial", 40, encoding="unic&
1. 場(chǎng)景描述 linux服務(wù)器下安裝了Anaconda3,執(zhí)行Pyhton的K-means算法,結(jié)果出現(xiàn)如下圖的中文字符亂碼.上次已經(jīng)解決了,忘記記錄解決流程了,這次配置了一臺(tái)新的服務(wù)器,又出現(xiàn),默認(rèn)不配置的話matplotlib畫(huà)圖就會(huì)亂碼,這次把解決過(guò)程記錄下,希望能幫助自己和有需要的朋友. 2. 解決方案 網(wǎng)上有好幾個(gè)解決方案,只介紹自己實(shí)戰(zhàn)可行的. 1. 查看matplotlib字體位置 python import matplotlib print(matplotlib.matplot
解決方式一: import matplotlib #1. 獲取matplotlibrc文件所在路徑 matplotlib.matplotlib_fname() #Out[3]: u'd:\\Anaconda2\\lib\\site-packages\\matplotlib\\mpl-data\\matplotlibrc' #修改此配置文件,一勞永逸,不用在每個(gè)腳本中寫(xiě)代碼解決中文顯示問(wèn)題 修改 'font.sans-serif' 的配置,在最前面加你本地電腦已有的字體family. 參看方式二.
如題,解決Python中用PyQt時(shí)中文亂碼問(wèn)題的解決方法: 在中文字符串前面加上u,如u'你好,世界',其他網(wǎng)上的方法沒(méi)有多去探究,Python的版本也會(huì)影響解決方法,故這里只推薦這種. (有人說(shuō)用toLocal8bit函數(shù)也可以,我試了下,貌似不行)請(qǐng)看例子: #coding=utf-8 from PyQt4 import QtGui, QtCore s = QtCore.QString(u'你好(hello)世界(world)') t = s.toLocal8Bit() u = unico
一.搭建 python 環(huán)境 在 VSC 中點(diǎn)擊 F1 鍵,彈出控制臺(tái),輸入 ext install 界面左側(cè)彈出擴(kuò)展窗格,輸入python,確認(rèn),開(kāi)始搜索 下載發(fā)布者為Don Jayamanne 的 Python 插件 (下載過(guò)程中不要切換窗口,不要做其他任何操作,否則會(huì)中斷下載,下載時(shí)間略長(zhǎng),耐心等待) 安裝完畢 "文件"-"首選項(xiàng)"-"用戶(hù)設(shè)置",打開(kāi)用戶(hù)配置文件settings.json,再其中大括號(hào)內(nèi)輸入計(jì)算機(jī)中 python.exe
Python是個(gè)好工具,但是也有其固有的一些缺點(diǎn).最近在學(xué)習(xí)網(wǎng)頁(yè)爬蟲(chóng)時(shí)就遇到了這樣一種問(wèn)題,中文網(wǎng)站爬取下來(lái)的內(nèi)容往往中文顯示亂碼.看過(guò)我之前博客的同學(xué)可能知道,之前爬取的一個(gè)學(xué)校網(wǎng)頁(yè)就出現(xiàn)了這個(gè)問(wèn)題,但是當(dāng)時(shí)并沒(méi)有解決,這著實(shí)成了我一個(gè)心病.這不,剛剛一解決就將這個(gè)方法公布與眾,大家一同分享. 首先,我說(shuō)一下Python中文亂碼的原因,Python中文亂碼是由于Python在解析網(wǎng)頁(yè)時(shí)默認(rèn)用Unicode去解析,而大多數(shù)網(wǎng)站是utf-8格式的,并且解析出來(lái)之后,python竟然再以Unicod
本文實(shí)例講述了wxPython窗口中文亂碼解決方法,分享給大家供大家參考.具體方法如下: 文件保存為 utf-8 文件開(kāi)頭添加 # -*- coding: utf-8 -*- 在有中文字符串前加u或U,例如:u"我的網(wǎng)站:http://www.jb51.net" 示例如下: 復(fù)制代碼 代碼如下: # -*- coding: utf-8 -*- import wx class App(wx.App): ? ??? def OnInit(self): ??????? frame = wx.
前陣子想爬點(diǎn)東西,結(jié)果一直提示錯(cuò)誤UnicodeEncodeError: 'gbk' codec can't encode character '\xa0' in position,在網(wǎng)上一查,發(fā)現(xiàn)是 Windows 的控制臺(tái)的問(wèn)題.控制臺(tái)的編碼是 GBK,Python 是 UTF-8,造成了沖突.下面給出三種解決方法. 第一種方法:直接替換出錯(cuò)的內(nèi)容 import requests url = 'https://blog.csdn.net/jianhong1990/article/detail
今天在做編程題的時(shí)候發(fā)現(xiàn)Python的print輸出默認(rèn)換行輸出,并且輸出后有空格. 題目要求輸出 122 而我的輸出是: 1 2 2 于是我百度查到取消print自動(dòng)換行的方法:就是在print的值后邊加逗號(hào),例如print x, 果然,不換行了,但是輸出結(jié)果仍然不對(duì),要求輸出為122,而我的輸出為1 2 2 于是我繼續(xù)百度查方法,發(fā)現(xiàn)Python2和Python3的print方法是不同的.Python2的print不用加()可以直接輸出,例如print 'hello world', Pyth
英文版: File -> settings -> Editor -> File Encodings 首先打開(kāi)設(shè)置:文件 -> 默認(rèn)設(shè)置 -> 文件編碼 (我這里是中文版的) 修改成如圖配置,再按應(yīng)用即可 py文件頭加上 # -*- coding: UTF-8 -*- 或者 #coding=utf-8 在代碼里面(我的是socket里的應(yīng)用代碼): str = str.encode() // 這種方式編碼 client_recv = client.recv(1024) prin
寫(xiě)一個(gè)簡(jiǎn)單的例子程序: # coding:utf-8 import flask from flask import json, jsonify, request, render_template app = flask.Flask(__name__) @app.route("/api", methods=["GET", "POST"]) def api(): if request.method == 'GET': return jsonify({
一.問(wèn)題描述 使用zTree的異步刷新父級(jí)菜單時(shí),服務(wù)器返回中文亂碼,但項(xiàng)目中使用了SpringMvc,已經(jīng)對(duì)中文亂碼處理,為什么還會(huì)出現(xiàn)呢? 此處為的異步請(qǐng)求的配置: Java代碼 async: { enable: true, url: basePath + '/sysMenu/listSysMenu', autoParam: ["id=parentId"] } SpringMvc中文字符處理: Java代碼
一句print("ni hao"),很久看不見(jiàn),怎么讓python print能立刻輸出呢. 因?yàn)閜ython默認(rèn)是寫(xiě)入stdout緩沖的,使用-u參數(shù)啟動(dòng)python,就會(huì)立刻輸出了. python3 -u driver.py 以上這篇python print輸出延時(shí),讓其立刻輸出的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持我們.
根本原因: python定義函數(shù)時(shí),一般都會(huì)有指定返回值,如果沒(méi)有顯式指定返回值,那么python就會(huì)默認(rèn)返回值為None 我們輸入的代碼如下: def test(): print('aaa') print(test()) 相當(dāng)于執(zhí)行了: def test(): print('aaa') return None print(test()) 如果不想要有None,那么就要添加返回值 def test(): return 'ccc' print(test()) 補(bǔ)充知識(shí):python中如何實(shí)現(xiàn)pri
與50位技術(shù)專(zhuān)家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的python idea控制台中文乱码_python 解决cv2绘制中文乱码问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python gis 经纬度 库_入门-
- 下一篇: python 2x与python 3x是