OpenCV学习记录——图像的绘制

文章目录

  • 前言
  • 一、绘制直线
  • 二、绘制矩形
  • 三、绘制圆形
  • 四、绘制文本

前言

        我们在进行图像处理的过程中,通常需要进行划线、画矩形框锁定目标等操作来凸显指定目标,OpenCV提供了方便的绘图功能,可以进行直线、矩形、圆、文本文字等内容的绘制,这篇文章将记录OpenCV中图像的绘制相关内容。

一、绘制直线

绘制直线的函数如下:

cv2.line(image,pt1,pt2,color,thickness)

其中,五个参数的具体内容为:

(1)“image”, 进行绘制的图像

(2)“pt1”, 直线的起始坐标,坐标表示为两个值的元组,即(X坐标值, Y坐标值)

(3)“pt2”, 直线的终点坐标,坐标表示为两个值的元组,即(X坐标值, Y坐标值)

(4)“color”, 设置直线的颜色,对于BGR,可以用一个元组表示。例如:绿色的元组表示为(0, 255, 0)

(5)“thickness”, 设置直线的粗细,可以根据需要自定义    

    

具体应用代码如下:

import cv2

img = cv2.imread('cat.jpg')
cv2.line(img, (100, 100), (200, 100), (0, 255, 0), 5)

cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

二、绘制矩形

绘制矩形的函数如下:

cv2.rectangle(image,pt1,pt2,color,thickness)

和绘制直线函数类似,只有pt1、pt2、thickness有略微变化,具体如下:

(1)“pt1”, 矩形框的一个顶点坐标,坐标表示为两个值的元组,即(X坐标值, Y坐标值)

(2)“pt2”, pt1的对角线顶点坐标,类型同pt1

(3)“thickness”, 用来表示线的粗细,需要注意的是,当该值为负数或者cv2.FILLED时,将绘制一个填充矩形

具体应用代码如下:

import cv2

img = cv2.imread('cat.jpg')
cv2.rectangle(img, (100, 100), (200, 200), (0, 255, 0), 3)

cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

三、绘制圆形

绘制圆形的代码如下:

cv2.circle(image,center,radius,color,thickness)

其中,需要特别指出的参数有:

(1)“center”, 绘制圆形的圆心坐标,坐标表示为两个值的元组,即(X坐标值, Y坐标值)

(2)“radius”, 绘制圆形的半径

(3)“thickness”, 用来表示线的粗细,需要注意的是,当该值为负数或者cv2.FILLED时,将绘制一个填圆形

具体应用代码如下:

import cv2

img = cv2.imread('cat.jpg')
cv2.rectangle(img, (100, 100), 50, (0, 255, 0), 3)

cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

四、文本绘制

绘制文本的代码如下:

cv2.putText(image,text,pt,font,fontScale,color)

其中,需要特别指出的参数有:

(1)“text”, 是要绘制的内容

(2)“pt”, 为所画文本左上角的坐标

(3)“font”, 文本的字体格式

(4)“fontScale”, 字体的大小

具体应用代码如下:

import cv2

img = cv2.imread('cat.jpg')
cv2.putText(img, "Hi,KAI", (100, 100), cv2.FONT_HERSHEY_SCRIPT_SIMPLEX, 1, (255, 0, 0))

cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

其中,cv2.FONT_HERSHEY_SCRIPT_SIMPLEX代表的是一种简单的字体格式

你可能感兴趣的:(树莓派——OpenCV,opencv,学习,人工智能,嵌入式硬件,计算机视觉)