python opencv如何实现图片绘制

yipeiwu_com5年前Python基础

这篇文章主要介绍了python opencv如何实现图片绘制,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

点和圆 :

circle(img,center,radius,color,thickness=None,lineType=None,shift=None)。各参数意义及作用如下。

  • img:待画圆所在的图像。
  • center:待画圆的圆心坐标。
  • radius:待画圆的半径。
  • color:待画圆的边框颜色,颜色格式为bgr格式。就是通道值
  • thickness:待画圆的边框宽度,正数表示边框宽度,负数表示填充圆形。
  • lineType:圆边框线型,可为 0,4,8
  • shift:圆心坐标和半径的小数点位数

画点实际上就是画半径很小的实心圆

import cv2
img = cv2.imread("500x400.jpg")
img1=cv2.circle(img,(60,60),30,(0,0,255),-1) #画一个红色实心圆
img1=cv2.circle(img1,(200,200),50,(255,0,0),3) #画一个蓝边框的圆
cv2.imwrite("linsi.jpg",img1)
cv2.waitKey(0)

注意:在img和img1上同时画

效果图:

画线 :

import cv2
img = cv2.imread("500x400.jpg")
img1=cv2.line(img,(10,10),(200,200),(0,255,0),3) #直线
#参数2 起点坐标;参数3 终点坐标;参数4 颜色;参数5 线条宽度

cv2.imwrite("linsi.jpg",img1)

cv2.waitKey(0)

画矩形:

import cv2
img = cv2.imread("500x400.jpg")
img1=cv2.rectangle(img,(10,10),(30,40),(255,0,0),2) #画矩形
#参数2 左上角坐标;参数3 右下角坐标;参数4 颜色;参数5 线条宽度
cv2.imwrite("linsi.jpg",img1)
cv2.waitKey(0)

椭圆:

import cv2
img = cv2.imread("500x400.jpg")
img1=cv2.ellipse(img,(256,256),(100,50),0,30,180,(255,0,0),-1) # 画椭圆
#参数2 椭圆中心
#第三个参数 椭圆的长短轴的长度
#第四个参数 整个椭圆的偏转角度(顺时针)
#第五个参数 圆弧起始角的角度
#第六个参数 圆弧终结角的角度
# 圆弧角度->x轴方向为0,逆时针方向为正
#第七个参数 color 线条的颜色
#第八个参数  线条的粗细程度,如果是负数表示填充
#第九个参数  line_type 线条的类型 ???

cv2.imwrite("linsi.jpg",img1)
cv2.waitKey(0)

多边形:

画多边形——需要指定每个顶点的坐标

import cv2
import numpy as np

img = cv2.imread("500x400.jpg")

points = np.array([[150,50],[140,140],[200,170],[250,250],[150,50]],np.int32) #多边形各顶点坐标
#数据类型必须是np.int32
points = points.reshape(-1,1,2)

img1=cv2.polylines(img,[points],True,(0,0,255),3) #画多边形
#参数2 各顶点
#参数3 True表示封闭,False表示不封闭
#参数4 颜色
#参数5 线条粗细

cv2.imwrite("linsi.jpg",img1)
cv2.waitKey(0)

添加文字 :

import cv2
import numpy as np
img = cv2.imread("500x400.jpg")
font=cv2.FONT_HERSHEY_SIMPLEX
font=cv2.FONT_HERSHEY_DUPLEX
img1=cv2.putText(img,'wo is liming',(80,90), font, 2,(255,255,255),3) #画文字
#参数3 位置
#参数5 字体大小
#参数7 线型
cv2.imwrite("linsi.jpg",img1)
cv2.waitKey(0)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python编程开发之textwrap文本样式处理技巧

本文实例讲述了python编程开发之textwrap文本样式处理技巧。分享给大家供大家参考,具体如下: 在看python的API的时候,发现python的textwrap在处理字符串样式...

pandas中的series数据类型详解

本文介绍了pandas中的series数据类型详解,分享给大家,具体如下: import pandas as pd import numpy as np import names...

python操作 hbase 数据的方法

配置 thrift python使用的包 thrift 个人使用的python 编译器是pycharm community edition. 在工程中设置中,找到project inte...

如何通过雪花算法用Python实现一个简单的发号器

如何通过雪花算法用Python实现一个简单的发号器

实现一个简单的发号器 根据snowflake算法的原理实现一个简单的发号器,产生不重复、自增的id。 1.snowflake算法的简单描述 这里的snowflake算法是用二进制的...

Pyqt实现无边框窗口拖动以及窗口大小改变

本文实例为大家分享了Pyqt实现无边框窗口拖动及大小改变的具体代码,供大家参考,具体内容如下 做个记录,绘制边框阴影可以忽略这里不是主要 根据网上某位仁兄Qt的实现转过来的大笑,上完整代...