opencv乱码java_opencv 放置文字 中文乱码处理 putText
函數(shù)說(shuō)明
void cv::putText(
cv::Mat& img, // 待繪制的圖像
const string& text, // 待繪制的文字
cv::Point origin, // 文本框的左下角
int fontFace, // 字體 (如cv::FONT_HERSHEY_PLAIN)
double fontScale, // 尺寸因子,值越大文字越大
cv::Scalar color, // 線條的顏色(RGB)
int thickness = 1, // 線條寬度
int lineType = 8, // 線型(4鄰域或8鄰域,默認(rèn)8鄰域)
bool bottomLeftOrigin = false // true='origin at lower left'
);
import cv2
image = cv2.imread("img.png")
font = cv2.FONT_HERSHEY_SIMPLEX # 定義字體
# cv2.putText(image, u"paojie", (10, 130), 6, 5, (255, 0, 255), 5)
cv2.putText(image, "hello", (100, 200), 5, 5, (255, 0, 255), 5)
cv2.imshow("putTextPractice", image)
cv2.waitKey(0)
cv2.destroyAllWindows()
中文處理,使用PIL中轉(zhuǎn)一下
import cv2
from PIL import Image, ImageDraw, ImageFont
import numpy as np
cv2.namedWindow("mark", cv2.WINDOW_AUTOSIZE)
image = cv2.imread("img.png")
cv2_im = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) # cv2和PIL中顏色的hex碼的儲(chǔ)存順序不同
pil_im = Image.fromarray(cv2_im)
draw = ImageDraw.Draw(pil_im) # 括號(hào)中為需要打印的canvas,這里就是在圖片上直接打印
font = ImageFont.truetype("font.ttf", 20, encoding="utf-8") # 第一個(gè)參數(shù)為字體文件路徑,第二個(gè)為字體大小
draw.text((0, 0), "eg:打印在這里", (0, 0, 255), font=font) # 第一個(gè)參數(shù)為打印的坐標(biāo),第二個(gè)為打印的文本,第三個(gè)為字體顏色,第四個(gè)為字體
cv2_text_im = cv2.cvtColor(np.array(pil_im), cv2.COLOR_BGR2RGB)
cv2.imshow("Video", cv2_text_im)
cv2.waitKey(0)
cv2.destroyAllWindows()
總結(jié)
以上是生活随笔為你收集整理的opencv乱码java_opencv 放置文字 中文乱码处理 putText的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java url特殊字符处理_简单实例处
- 下一篇: java 队列和rabbitmq_jav