我有以下Python代码:
FONT = cv2.FONT_HERSHEY_SIMPLEX
FONT_SCALE = 1.0
FONT_THICKNESS = 2
bg_color = (255, 255, 255)
label_color = (0, 0, 0)
label = 'Propaganda'
label_width, label_height = cv2.getTextSize(label, FONT, FONT_SCALE, FONT_THICKNESS)[0]
label_patch = np.zeros((label_height, label_width, 3), np.uint8)
label_patch[:,:] = bg_color
Run Code Online (Sandbox Code Playgroud)
我创建了一个新的空白图片,其大小由返回getTextSize,然后根据docs在左下角添加文本,该文本x = 0, y = (height - 1)使用相同的字体,比例和粗细参数getTextSize
cv2.putText(label_patch, label, (0, label_height - 1), FONT, FONT_SCALE, label_color, FONT_THICKNESS)
Run Code Online (Sandbox Code Playgroud)
但是当我在图像上使用imshow或imwrite时label_patch,这是我得到的结果:
它可以很容易地看出,小写 p字母和小写g是切在中间,这样g并a不能甚至加以区分。如何使OpenCV getTextSize返回正确的大小,如何使OpenCV …