第三章 使用pyton-opencv画线段
在这一章的OpenCV与Python教程中,我们将介绍如何在你的图像和视频中绘制各种形状的图像。以某种方式标记探测到的对象是相当常见的一种可视化行为,因此我们人类可以很容易地看到我们的程序是否如我们所希望的那样工作。
一段代码引入
import numpy as np
import cv2
img = cv2.imread("068c067860c80bf517760b8a3c186806_watch.jpg",cv2.IMREAD_COLOR);#读入一副彩色图片,忽略alpha通道
#画线函数,line(画线的目标,直线起点,直线终点,直线颜色,线条粗细)
cv2.line(img,(0,0),(150,150),(255,255,255),15)
cv2.imshow('image',img)#显示窗口,imshow(窗口名,目标图像)
cv2.waitKey(0)#对键盘事件进行等待
cv2.destroyAllWindows()
这段代码将会绘制一条直线,从img图像的(0,0)处到(150,150),颜色为(255,255,255),粗细15.
代码如下(示例):
import numpy as np
import cv2
img = cv2.imread("068c067860c80bf517760b8a3c186806_watch.jpg",cv2.IMREAD_COLOR)
cv2.rectangle(img,(15,25),(200,150),(0,0,255),15)
cv2.imshow("rectangle",img)
cv2.waitKey(0)
cv2.destroyAllWindows()
代码如下(示例):
import numpy as np
import cv2
img = cv2.imread("068c067860c80bf517760b8a3c186806_watch.jpg",cv2.IMREAD_COLOR);#读入一副彩色图片,忽略alpha通道
#画线函数,line(画线的目标,直线起点,直线终点,直线颜色,线条粗细)
cv2.line(img,(0,0),(150,150),(255,255,255),15)
cv2.rectangle(img,(15,25),(200,150),(0,0,255),15)
#画一个圆,circlr(画圆的目标,中心点,半径,颜色,宽度),-1表示填充
cv2.circle(img,(100,63),15,(0,255,0),-1)
cv2.imshow('image',img)
cv2.waitKey(0)#对键盘事件进行等待
cv2.destroyAllWindows()
画一条线,一个圆,一个矩形,这确实很酷,但是想要画其他的形状呢
OpenCV文档中有这样的代码,它将数组重新塑形为1 x 2。我觉得没有必要,但可以:
pts = pts.reshape((-1,1,2))#opencv建议这样做,但作者不用
#polylines(绘制的目标区域,坐标点,是否首尾相连,颜色,厚度)
cv2.polylines(img,[pts],True,(0,255,255),3)
如果你还想在img上输入文字。可以用下面这个代码
#如果你想写在图片上,执行下列代码
font = cv2.FONT_HERSHEY_SIMPLEX
cv2.putText(img,'OpenCV Tuts!',(0,130),font,1,(200,255,155),2,cv2.LINE_AA)
cv2.FONT_HERSHEY_SIMPLEX表示设定字体样式
cv2.putText(图片,添加的文字,左上的坐标,字体,字体大小,颜色,字体粗细)
例如:以上就是本章的内容,本系列文章纯属搬运工,来自个人阅读一个国外python-opencv的教学网的感悟,有关许可条例,遵循该网站,本系列文章仅作学习用途。