Opencv图像绘画(画直线、矩形、圆等)

发布于:2024-04-15 ⋅ 阅读:(73) ⋅ 点赞:(0)

Opencv图像绘画(画直线、矩形、圆等)

OpenCV提供了多种函数和方法,可用于在图像上绘制直线、矩形、圆等形状。以下是一些常见的绘图函数:

1、画直线

cv2.line(img, (x1, y1), (x2, y2), color, thickness=1):用于在图像上绘制一条直线,其中(x1, y1)和(x2, y2)是线的起点和终点坐标,color是颜色,thickness是线宽。

2、画矩形

cv2.rectangle(img, (x1, y1), (x2, y2), color, thickness=1):用于在图像上绘制一个矩形,其中(x1, y1)和(x2, y2)是矩形的左上角和右下角坐标,color是颜色,thickness是线宽。

3、画圆形

cv2.circle(img, center, radius, color, thickness=-1):用于在图像上绘制一个圆形,其中center是圆心坐标,radius是半径,color是颜色,thickness=-1表示画一个实心圆。

4、画椭圆

cv2.ellipse(img, center=(xc, yc), axes=(ax, ay), angle=theta, startAngle=0, endAngle=0, color=None, thickness=-1):用于在图像上绘制一个椭圆,其中center是椭圆中心坐标,axes是椭圆轴坐标系中的长轴和短轴长度,angle是椭圆的角度,startAngle和endAngle是椭圆弧度的起始角度和终止角度。

import cv2
import numpy as np

# 读取图像
img = cv2.imread('input.jpg')

# 在图像上绘制一条红色直线
cv2.line(img, (50, 50), (500, 500), (0, 0, 255), thickness=2)

# 在图像上绘制一个蓝色矩形
cv2.rectangle(img, (100, 100), (300, 300), (255, 0, 0), thickness=2)

# 在图像上绘制一个黄色圆形
cv2.circle(img, (200, 200), 100, (0, 255, 0), thickness=-1)

# 在图像上绘制一个绿色椭圆
ellipse_pts = np.array([[300, 300], [150, 150], [50, 50]], dtype=np.float32)
ellipse_rad = 80
ellipse_angle = 90
cv2.ellipse(img, ellipse_pts, ellipse_rad * np.ones((3)), 0, ellipse_angle*360/180.0, (0, 255, 0), thickness=-1)

# 显示图像
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

网站公告

今日签到

点亮在社区的每一天
去签到