Python 使用opencv在图像上书写表情符号
我想知道是否有可能用OpenCV在图像上书写表情符号 这就是我目前所拥有的Python 使用opencv在图像上书写表情符号,python,opencv,python-3.7,opencv3.0,emoji,Python,Opencv,Python 3.7,Opencv3.0,Emoji,我想知道是否有可能用OpenCV在图像上书写表情符号 这就是我目前所拥有的 import cv2 import emoji img = cv2.imread('image.png') tick=str(emoji.emojize(':heavy_check_mark:')) cv2.putText(img, tick,(5,5), cv2.FONT_HERSHEY_TRIPLEX , 1, (255, 255, 255),3) cv2.imshow('result',img) cv2.wait
import cv2
import emoji
img = cv2.imread('image.png')
tick=str(emoji.emojize(':heavy_check_mark:'))
cv2.putText(img, tick,(5,5), cv2.FONT_HERSHEY_TRIPLEX , 1, (255, 255, 255),3)
cv2.imshow('result',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
上面的代码不起作用,我不知道为什么。是否可以将勾号表情符号加载为图像(比如img2),然后将其“粘贴”到某个坐标上
我正在windows上使用python 3.7.6。请检查有关在OpenCV中加载TTF字体的回答:
您可以使用PIL/Pillow和以下合适的字体:
#!/usr/local/bin/python3
from PIL import Image, ImageFont, ImageDraw
import numpy as np
import cv2
import emoji
# Open image with OpenCV
im_o = cv2.imread('start.png')
# Make into PIL Image
im_p = Image.fromarray(im_o)
# Get a drawing context
draw = ImageDraw.Draw(im_p)
font = ImageFont.truetype("Arial Unicode.ttf",32)
tick=str(emoji.emojize(':heavy_check_mark:'))
draw.text((40, 80),tick,(255,255,255),font=font)
# Convert back to OpenCV image and save
result_o = np.array(im_p)
cv2.imwrite('result.png', result_o)
BGRimage = RGBimage[...,::-1]
请注意,在OpenCV中,红色和蓝色通道是互换的,因此可以反转通道顺序,或者使用黑色、白色和绿色。像这样的反向通道:
#!/usr/local/bin/python3
from PIL import Image, ImageFont, ImageDraw
import numpy as np
import cv2
import emoji
# Open image with OpenCV
im_o = cv2.imread('start.png')
# Make into PIL Image
im_p = Image.fromarray(im_o)
# Get a drawing context
draw = ImageDraw.Draw(im_p)
font = ImageFont.truetype("Arial Unicode.ttf",32)
tick=str(emoji.emojize(':heavy_check_mark:'))
draw.text((40, 80),tick,(255,255,255),font=font)
# Convert back to OpenCV image and save
result_o = np.array(im_p)
cv2.imwrite('result.png', result_o)
BGRimage = RGBimage[...,::-1]
您必须使用包含表情符号的字体,而不仅仅是ASCII@lenik我认为opencv只有少数几种字体。谢谢@Mark Setchell,你在哪里找到这个ImageFont.truetype(“Arial Unicode.ttf”,32)“Arial Unicode”字体的?默认情况下,它安装在所有Mac电脑上。否则你可以从网上下载。谢谢。这真的很有帮助。保持安全:)同样。祝你的项目好运,记住,StackOverflow上的问题(和答案)是免费的,所以如果你卡住了,请回来问另一个问题。