欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

OpenCV-Python 绘制矩形,绘制文本,获取文本大小【rectangle(),getTextSize(),putText()】

程序员文章站 2023-11-26 22:49:40
介绍三个函数:rectangle(),getTextSize(),putText()1. 函数介绍cv2.rectangle(img, pt1, pt2, color, thickness=None, lineType=None, shift=None)参数解释img要绘制的图像pt1矩形的左上角坐标 (xmin,ymin)(x_{min}, y_{min})(xmin​,ymin​)pt2矩形的右下角坐标 (xmax,ymax)(x_{max},y_{max}...

介绍三个函数:rectangle(),getTextSize(),putText()

1. 函数介绍

cv2.rectangle(img, pt1, pt2, color, thickness=None, lineType=None, shift=None)

参数 解释
img 要绘制的图像
pt1 矩形的左上角坐标 (xmin,ymin)(x_{min}, y_{min})
pt2 矩形的右下角坐标 (xmax,ymax)(x_{max},y_{max})
color 矩形边框或者填充的颜色/亮度
thickness 矩形边框的粗细。负值表示使用 color 填充矩形
lineType 矩形边框的线型
shift 坐标中的小数位数

retval, baseLine = cv2.getTextSize(text, fontFace, fontScale, thickness)

计算文本的宽和高

参数 解释
text 要计算的文本
fonFace 要使用的字体
fontScale 乘以特定字体基本大小的比例因子
thickness 文本的线的粗细
retval 返回值,元组,字体的宽高 (width, height)
baseLine 相对于最底端文本的 y 坐标,文本的高是从baseLine到文本最顶端

putText(img, text, org, fontFace, fontScale, color, thickness=None, lineType=None, bottomLeftOrigin=None)

在图片上写文本,部分参数同上

参数 解释
org 文本的左下角坐标 (xmin,ymax)(x_{min}, y_{max})
bottomLeftOrigin True时,图像原点为左下角;否则, 图像远点为左上角(默认)

2. 函数示例

使用这三个函数在图像上绘制矩形框以及矩形框的文本

# -*- coding: utf-8 -*-

import numpy as np
import cv2 as cv

image = cv.imread('test.jpg')

pt1, pt2 = (423, 103), (531, 358)

text = 'Man 0.9'
fontFace = cv.FONT_HERSHEY_COMPLEX_SMALL
fontScale = 1
thickness = 1
# 绘制矩形框
cv.rectangle(image, pt1, pt2, thickness=2, color=(0, 255, 0))
# 计算文本的宽高,baseLine
retval, baseLine = cv.getTextSize(text,fontFace=fontFace,fontScale=fontScale, thickness=thickness)
# 计算覆盖文本的矩形框坐标
topleft = (pt1[0], pt1[1] - retval[1])
bottomright = (topleft[0] + retval[0], topleft[1] + retval[1])
cv.rectangle(image, (topleft[0], topleft[1] - baseLine), bottomright,thickness=-1, color=(0, 255, 0))
# 绘制文本
cv.putText(image, text, (pt1[0], pt1[1]-baseLine), fontScale=fontScale,fontFace=fontFace, thickness=thickness, color=(0,0,0))
cv.imwrite('test_.jpg', image)

OpenCV-Python 绘制矩形,绘制文本,获取文本大小【rectangle(),getTextSize(),putText()】

本文地址:https://blog.csdn.net/m0_38007695/article/details/107093108