我是靠谱客的博主 典雅煎蛋,最近开发中收集的这篇文章主要介绍Chapter 04:如何绘制形状和文本绘制几何图形,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

  随着本专栏的学习,你可以快速的掌握如何使用Opencv,请注意更多的学习内容还请看官方文档,本专栏是为了给对于视觉方向比较感兴趣的新手所写,带领它们做好一个基础的框架,让他们快速学会如何通过这个框架调取函数做自己感兴趣的项目,同时我也正在更新我的Opencv项目实战专栏,你可以搭配着一起学习。

订阅此专栏, (2条消息) Opencv项目实战_夏天是冰红茶的博客-CSDN博客


target:

  •         学习Opencv绘制不同的几何形状
  •         绘图功能的函数
  •         常见参数

绘制几何图形

(1)画线

绘制一条线,我们需要向cv2.line()函数当中,传入线条的始末坐标。在此之前,还需要用numpy创建一个黑色的背景。

import numpy as np
import cv2

img = np.zeros((450,450,3),np.uint8)
cv2.line(img,(0,0),(450,450),(255,0,0),3)

cv2.imshow('imgline',img)
cv2.waitKey(0)

(2)画矩形

我们需要向cv2.rectangle()函数中提供左上角和右下角。

cv2.rectangle(img,(126,0),(400,126),(0,255,0),3)

(3)画圆圈

 绘制一个圆,需要提供其中心坐标和半径。我们将在上面绘制的矩形内绘制一个圆。

cv2.circle(img,(263,63), 63, (0,0,255), -1)

(4)画椭圆

绘制椭圆,一个参数是其中心坐标(x,y),另一个参数是长轴,短轴的长度。angle是椭圆沿逆时针旋转的角度。startAngle和endAngle表示从主轴沿逆时针方向测量的椭圆弧的开始和结束

cv2.ellipse(img,(250,250),(120,50),0,0,180,255,-1)

(5)画多边形

首先,需要的是顶点的坐标,将这些点组成形状为Rows*1*2的数组,其中Rows是顶点数,并且其类型应为int32。在这里,我们绘制了一个带有四个顶点的黄色小多边形。

pts = np.array([[10,5],[20,30],[70,20],[50,10]], np.int32)
pts = pts.reshape((-1,1,2))
cv2.polylines(img,[pts],True,(0,255,255))

如果第三个参数为False,将会得到一条连接所有点的折线,而不是闭合形状。cv2.polylines()可用于绘制多条线。只需创建要绘制的所有线条的列表,然后将其传递给函数即可。所有线条将单独绘制。

(6)向图像添加文本

font = cv2.FONT_HERSHEY_SIMPLEX
cv2.putText(img,'OpenCV',(10,420), font, 3,(255,255,255),2,cv2.LINE_AA)

这其中的参数分别是文本,左下角坐标,字体的类型,字体大小,颜色,厚度,线条的类型。

全部代码:

import numpy as np
import cv2
#############创建背景##################
img = np.zeros((450,450,3),np.uint8)
#############对角线条##################
cv2.line(img,(0,0),(450,450),(255,0,0),3)
#############画矩形框##################
cv2.rectangle(img,(126,0),(400,126),(0,255,0),3)
#############画实心圆##################
cv2.circle(img,(263,63), 63, (0,0,255), -1)
#############画椭圆形##################
cv2.ellipse(img,(250,250),(120,50),0,0,180,255,-1)
#############画多边形##################
pts = np.array([[10,5],[20,30],[70,20],[50,10]], np.int32)
pts = pts.reshape((-1,1,2))
cv2.polylines(img,[pts],True,(0,255,255))
#############放置文本##################
font = cv2.FONT_HERSHEY_SIMPLEX
cv2.putText(img,'OpenCV',(10,420), font, 3,(255,255,255),2,cv2.LINE_AA)

cv2.imshow('imgline',img)
cv2.waitKey(0)

实际效果图:

本篇将

最后

以上就是典雅煎蛋为你收集整理的Chapter 04:如何绘制形状和文本绘制几何图形的全部内容,希望文章能够帮你解决Chapter 04:如何绘制形状和文本绘制几何图形所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(63)

评论列表共有 0 条评论

立即
投稿
返回
顶部