利用cv2.rectangle()绘制矩形框(python)

Posted _腾飞

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用cv2.rectangle()绘制矩形框(python)相关的知识,希望对你有一定的参考价值。

文章目录


使用cv2.rectangle可以绘制矩形框,但要绘制半透明框使用cv2.addWeighted。

cv2.rectangle绘制矩形框

使用解析

cv2.rectangle包含的参数有:(img, pt1, pt2, color, thickness=None, lineType=None, shift=None )
各参数的含义如下:

  • img:指定一张图片,在这张图片的基础上进行绘制;(img相当于一个画板)
  • pt1: 由(x_min,y_min)组成,为绘制的边框的左上角;
  • pt2: 由(x_max, y_max)坐标,为绘制的边框的右下角,示意如下:
  • color:指定边框的颜色,由(B,G,R)组成,当为(255,0,0)时为绿色,可以自由设定;
  • thinkness:线条的粗细值,为正值时代表线条的粗细(以像素为单位),为负值时边框实心;

范例

import cv2

picture_path = 'E://...'
picture = cv2.imread(picture_path)		# picture_path为图片路径;(cv读取的文件为BGR形式)

cv2.rectangle(picture, (x_min,y_min), (x_max,y_max), (255, 0, 255), -1)

总结

cv2.rectangle(读取图片变量, (左上角点坐标)(右下角点坐标),(颜色),(线宽))

cv2.addWeighted绘制半透明框

cv2.addWeighted 的原理是:将复制图片(以下称 blk)绘制实心矩形并调整透明度,叠加到原图中。

使用解析

cv2.addWeighted(src1, alpha, src2, beta, gamma, dst = None, dtype=None)

各参数的含义如下:

  • src1:后景,用来指定哪张图片放在前面;
  • alpha: 透明度,范围(0~1),1为完全不透明,0为完全透明;
  • src2:前景,用于指定哪张图片放在后面;
  • beta:同alpha,指定图片的透明度;
  • gamma:标量相加;
    dst 和 dtype 一般不做考虑;

范例

import numpy as np

blk = np.zeros(picture.shape, np.uint8)		# 得到与原图形大小形同的形状

cv2.addWeighted(src1, alpha, src2, beta, gamma, dst = None, dtype=None)

总结

使用cv2.addWeighted主要是确定好前景和后景图片,指定透明度即可。

cv2.rectangle()、cv2.putText()和cv2.imwrite()用法

参考技术A

OpenCV-Python 是旨在解决计算机视觉问题的Python绑定库。

cv2.rectangle() 方法用于在任何图像上绘制矩形。

参数:
image: 它是要在其上绘制矩形的图像。
start_point: 它是矩形的起始坐标。坐标表示为两个值的元组,即(X坐标值,Y坐标值)。
end_point: 它是矩形的结束坐标。坐标表示为两个值的元组,即( X 坐标值 ÿ 坐标值)。
color: 它是要绘制的矩形的边界线的颜色。对于 BGR ,我们通过一个元组。例如:(255,0,0)为蓝色。
thickness: 它是矩形边框线的粗细 像素 。厚度 -1像素 将以指定的颜色填充矩形形状。

返回值: 它返回一个图像。

cv2.putText() 方法用于在任何图像上绘制文本字符串。

参数:
image: 它是要在其上绘制文本的图像。
text: 要绘制的文本字符串。
org: 它是图像中文本字符串左下角的坐标。坐标表示为两个值的元组,即(X坐标值,Y坐标值)。
font: 它表示字体类型。一些字体类型是 FONT_HERSHEY_SIMPLEX,FONT_HERSHEY_PLAIN,
fontScale: 字体比例因子乘以font-specific基本大小。
color: 它是要绘制的文本字符串的颜色。对于 BGR ,我们通过一个元组。例如:(255,0,0)为蓝色。
thickness: 它是线的粗细 像素
lineType: 这是一个可选参数,它给出了要使用的行的类型。
bottomLeftOrigin: 这是一个可选参数。如果为true,则图像数据原点位于左下角。否则,它位于左上角。

返回值: 它返回一个图像。

示例:

以上是关于利用cv2.rectangle()绘制矩形框(python)的主要内容,如果未能解决你的问题,请参考以下文章

opencv学习笔记:基本的绘图函数

cv2.rectangle() 是不是有一个名为“rec”的参数?

OpenCV cv2.rectangle 输出二值图像

使用Python,OpenCV进行涂鸦(绘制文字线圆矩形椭圆多边形轮廓多边形填充箭头~)

OpenCV中的绘图函数

opencv绘图