python opencv如何实现图片绘制


Posted in Python onJanuary 19, 2020

这篇文章主要介绍了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上同时画

效果图:

python opencv如何实现图片绘制

画线 :

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正则表达式 re模块使用说明
May 19 Python
Python计算字符宽度的方法
Jun 14 Python
python中文件变化监控示例(watchdog)
Oct 16 Python
Django实现一对多表模型的跨表查询方法
Dec 18 Python
Django学习笔记之为Model添加Action
Apr 30 Python
VPS CENTOS 上配置python,mysql,nginx,uwsgi,django的方法详解
Jul 01 Python
Python面向对象中类(class)的简单理解与用法分析
Feb 21 Python
使用Python将语音转换为文本的方法
Aug 10 Python
python中requests库+xpath+lxml简单使用
Apr 29 Python
Python Pandas pandas.read_sql函数实例用法
Jun 21 Python
DjangoRestFramework 使用 simpleJWT 登陆认证完整记录
Jun 22 Python
Python函数中apply、map、applymap的区别
Nov 27 Python
python实现加密的方式总结
Jan 19 #Python
TensorFlow tensor的拼接实例
Jan 19 #Python
python通过opencv实现图片裁剪原理解析
Jan 19 #Python
Python 一行代码能实现丧心病狂的功能
Jan 18 #Python
Python语法之精妙的十个知识点(装B语法)
Jan 18 #Python
Pytorch 实现数据集自定义读取
Jan 18 #Python
使用pytorch搭建AlexNet操作(微调预训练模型及手动搭建)
Jan 18 #Python
You might like
PHP实现的DES加密解密实例代码
2016/04/06 PHP
php实现根据身份证获取精准年龄
2020/02/26 PHP
一个高效的JavaScript压缩工具下载集合
2007/03/06 Javascript
js实现的真正的iframe高度自适应(兼容IE,FF,Opera)
2010/03/07 Javascript
什么是json和jsonp,jQuery json实例详详细说明
2012/12/11 Javascript
动态载入js提高网页打开速度的方法
2014/07/04 Javascript
Node.js 异步编程之 Callback介绍(一)
2015/03/30 Javascript
以JavaScript来实现WordPress中的二级导航菜单的方法
2015/12/14 Javascript
jQuery实现微信长按识别二维码功能
2016/08/26 Javascript
利用JQuery直接调用asp.net后台的简单方法
2016/10/27 Javascript
详解vue.js之props传递参数
2017/12/12 Javascript
总结js函数相关知识点
2018/02/27 Javascript
jQuery中each方法的使用详解
2018/03/18 jQuery
JS轮播图的实现方法
2020/08/24 Javascript
vue切换菜单取消未完成接口请求的案例
2020/11/13 Javascript
微信小程序实现点击导航条切换页面
2020/11/19 Javascript
nodejs+express最简易的连接数据库的方法
2020/12/23 NodeJs
[01:25]DOTA2自定义游戏灵园鬼域等你踏足
2015/10/30 DOTA
[01:02:06]LGD vs Mineski Supermajor 胜者组 BO3 第二场 6.5
2018/06/06 DOTA
Pycharm学习教程(6) Pycharm作为Vim编辑器使用
2017/05/03 Python
Python中模块pymysql查询结果后如何获取字段列表
2017/06/05 Python
利用python批量修改word文件名的方法示例
2017/10/17 Python
Python中django学习心得
2017/12/06 Python
基于Django filter中用contains和icontains的区别(详解)
2017/12/12 Python
python利用sklearn包编写决策树源代码
2017/12/21 Python
pycharm执行python时,填写参数的方法
2018/10/29 Python
python利用Tesseract识别验证码的方法示例
2019/01/21 Python
python字符串循环左移
2019/03/08 Python
Pycharm新建模板默认添加个人信息的实例
2019/07/15 Python
python 遍历pd.Series的index和value
2019/11/26 Python
python加载自定义词典实例
2019/12/06 Python
钉钉企业内部H5微应用开发详解
2020/05/12 HTML / CSS
美国Curacao百货连锁店网站:iCuracao.com
2019/07/20 全球购物
李开复演讲稿
2014/05/24 职场文书
党员民主生活会个人整改措施材料
2014/09/16 职场文书
总结高并发下Nginx性能如何优化
2021/11/01 Servers