python opencv如何实现图片绘制

yipeiwu_com6年前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操作字符串之rindex()方法的使用

 rindex()方法返回所在的子str被找到的最后一个索引,可选择限制搜索的字符串string[beg:end] 如果没有这样的索引存在,抛出一个异常。 语法 以下是rind...

python采用django框架实现支付宝即时到帐接口

因工作需要研究了支付宝即时到帐接口,并成功应用到网站上,把过程拿出来分享。 即时到帐只是支付宝众多商家服务中的一个,表示客户付款,客户用支付宝付款,支付宝收到款项后,马上通知你,并且此笔...

在python中使用正则表达式查找可嵌套字符串组

在网上看到一个小需求,需要用正则表达式来处理。原需求如下: 找出文本中包含”因为……所以”的句子,并以两个词为中心对齐输出前后3个字,中间全输出,如果“因为”和“所以”中间还存在“因为”...

PyQt Qt Designer工具的布局管理详解

PyQt Qt Designer工具的布局管理详解

前言 这节课很重要。。界面整洁美观与否就看布局了。。这里讲布局方法,至于设计的天赋与最终界面的美感那就看造化了。。 本文主要讲述Qt Designer工具实现界面控件布局管理,就是排列组...

python进阶教程之文本文件的读取和写入

Python具有基本的文本文件读写功能。Python的标准库提供有更丰富的读写功能。 文本文件的读写主要通过open()所构建的文件对象来实现。 创建文件对象 我们打开一个文件,并使用一...