Как я могу поместить символ градуса (º) в видео OpenCv? - PullRequest
0 голосов
/ 29 декабря 2018

Я сделал программу, которая делает HUD поверх видео, получает информацию от датчиков и отображает результаты на видеокадрах, обновляет каждый кадр, и для представления градусов (наклона) мне нужно построить символ градуса, но что яполучить 2 символа («??») в видео-шоу.Я ищу через этот сайт и другие тоже.Я не могу это сделать !!!!пожалуйста, я не знаю, что делать, я просто не могу этого сделать.

Это начало моей программы:

import cv2
from random import *
import numpy as np
from PIL import Image

capture = cv2.VideoCapture(r"e:\Usuario\Desktop\HUD\Videos\Car.mp4")
out = cv2.VideoWriter('HUD.avi',cv2.VideoWriter_fourcc('M','P','4','2'), 25, (1280, 720))

, и этострока, в которой я нуждаюсь, ставит символ

cv2.putText(frame, (str(data[3]) + "º"), (275,690),font,0.7,(255,255,255),1)

data - это переменная, которая сохраняет значения из функции, все работает отлично, это просто этот символ !!!!я попробую много вещей, и никто не сможет мне помочь.

в этих строках показывает видео только для проверки, также моя программа записывает его в каталог ...

out.write(frame)
cv2.imshow("Testing", frame)

У меня есть Python3.5.3 и windows 10, если эта информация полезна для вас.И я повторяю, это не программа, это просто способ, которым я пытаюсь построить символ степени, вот единственная проблема, спасибо !!!

1 Ответ

0 голосов
/ 29 декабря 2018

Попробуйте это.Но вам нужно установить подушку pip install pillow.

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

img = np.zeros((200,400,3),np.uint8)
b,g,r,a = 0,255,0,0

fontpath = "./simsun.ttc" # the font that has this "º" symbol
font = ImageFont.truetype(fontpath, 32)
img_pil = Image.fromarray(img)
draw = ImageDraw.Draw(img_pil)

draw.text((50, 80),  "100 º", font = font, fill = (b, g, r, a))

img = np.array(img_pil)

cv2.imshow("img", img)    

cv2.waitKey()
cv2.destroyAllWindows() 

enter image description here

...