-
-
Save xcsrz/8938a5d4a47976c745407fe2788c813a to your computer and use it in GitHub Desktop.
#!/usr/bin/env python | |
import numpy as np | |
import cv2 | |
from time import sleep | |
# create blank image - y, x | |
img = np.zeros((600, 1000, 3), np.uint8) | |
# setup text | |
font = cv2.FONT_HERSHEY_SIMPLEX | |
text = "Hello Joseph!!" | |
# get boundary of this text | |
textsize = cv2.getTextSize(text, font, 1, 2)[0] | |
# get coords based on boundary | |
textX = (img.shape[1] - textsize[0]) / 2 | |
textY = (img.shape[0] + textsize[1]) / 2 | |
# add text centered on image | |
cv2.putText(img, text, (textX, textY ), font, 1, (255, 255, 255), 2) | |
# display image | |
cv2.imshow('image', img) | |
# wait so you can see the image | |
sleep(25) | |
# cleanup | |
cv2.destroyAllWindows() |
Nice 👍
Thanks!
Thank you. This helped me out a ton.
Thank you so much!
TypeError: integer argument expected, got float
can you please tell how to solve this?
Thanks for the amazing code! much appreciate it
@haiderasad does that mean you got around your type error? I haven't encountered that but my guess is you need 18-19 to round:
textX = round((img.shape[1] - textsize[0]) / 2)
textY = round((img.shape[0] + textsize[1]) / 2)
Or just do
textX = (img.shape[1] - textsize[0]) // 2
textY = (img.shape[0] + textsize[1]) // 2
Thanks it works great
for future people using this: cast to int and use python_naming_conventions
The method
# get coords based on boundary
textX = (img.shape[1] - textsize[0]) / 2
textY = (img.shape[0] + textsize[1]) / 2
can lead to values with decimal placed and a decimal of a pixel is not yet defined. Suggest to round them or //2 as the guys said!
Besides that, great and simple implementation of this tool!
good
C++ users do this
int textX = (resizedSize.x - size.width) / 2;
int textY = (resizedSize.y + size.height) / 2;
https://gist.github.com/Erol444/962bf3d2bd5813d1475d03d154c9966b <- A script that adds a bit more options, like printing text at specific location on frame (topLeft, middle, bottomRight...) and text padding.
thanks! this worked.
Great work. This gist saved me a lot of time.