简单几何图像一般包含点、直线、矩阵、圆、椭圆、多边形等等。首先认识一下opencv对像素点的定义。

图像的一个像素点有1或者3个值。对灰度图像有一个灰度值,对彩色图像有3个值组成一个像素值。他们表现出不同的颜色。

那么有了点才干组成各种多边形。

(一)首先绘制直线

函数为:cv2.line(img,Point pt1,Point pt2,color,thickness=1,line_type=8 shift=0)

有值的代表有默认值。不用给也行。能够看到这个函数主要接受參数为两个点的坐标,线的颜色(彩色图像的话颜色就是一个1*3的数组)例如以下:

import cv2

import numpy as np

from matplotlib import pyplot as plt

img = np.zeros((512,512),np.uint8)#生成一个空灰度图像

cv2.line(img,(0,0),(511,511),255,5)

plt.imshow(img,'gray')

import cv2

import numpy as np

from matplotlib import pyplot as plt

img = np.zeros((512,512,3),np.uint8)#生成一个空彩色图像

cv2.line(img,(0,0),(511,511),(155,155,155),5)

plt.imshow(img,'brg')

(二)绘制矩形

函数:cv2.rectangle(img,(380,0),(511,111),(255,0,0),3),须要确定的就是矩形的两个点(左上角与右下角)。颜色,线的类型(不设置就默认)。

比方:

import cv2

import numpy as np

from matplotlib import pyplot as plt

img = np.zeros((512,512,3),np.uint8)#生成一个空彩色图像

cv2.rectangle(img,(20,20),(411,411),(55,255,155),5)

plt.imshow(img,'brg')

(三)绘制圆形

绘制圆形也非常easy,仅仅须要确定圆心与半径,函数:

cv2.circle (img,(380,0),63,(255,0,0),3),比方:

import cv2

import numpy as np

from matplotlib import pyplot as plt

img = np.zeros((512,512,3),np.uint8)#生成一个空彩色图像

cv2.circle(img,(200,200),50,(55,255,155),1)#改动最后一个參数

plt.imshow(img,'brg')

import cv2

import numpy as np

from matplotlib import pyplot as plt

img = np.zeros((512,512,3),np.uint8)#生成一个空彩色图像

cv2.circle(img,(200,200),50,(55,255,155),8)#改动最后一个參数

plt.imshow(img,'brg')

(四)绘制椭圆

椭圆比較复杂,涉及到长轴短轴,椭圆圆心,旋转角度等等,看看opencv參考手冊上的介绍吧:

图像化例如以下:

一个样例例如以下:

import cv2

import numpy as np

from matplotlib import pyplot as plt

img = np.zeros((512,512,3),np.uint8)#生成一个空彩色图像

cv2.ellipse(img,(256,256),(150,100),0,0,180,250,-1)

#注意最后一个參数-1,表示对图像进行填充,默认是不填充的,假设去掉,仅仅有椭圆轮廓了

plt.imshow(img,'brg')

python画三维几何图-Python下opencv使用笔记(二)(简单几何图像绘制)相关推荐

  1. python 画三维函数图-Python画三维图-----插值平滑数据

    一.二维的插值方法: 原始数据(x,y) 先对横坐标x进行扩充数据量,采用linspace.[如下面例子,由7个值扩充到300个] 采用scipy.interpolate中的spline来对纵坐标数据 ...

  2. python 画三维函数图-Python之Numpy:二元函数绘制/三维数据可视化/3D

    意义 在机器学习任务中选择计算模型或者学习数学时,可视化有助于研究函数值的变化趋势(观察收敛.分布.几何形状等),带来直观的感受. 源码 # 绘制二元函数 # 参考文献 # + python画二元函数 ...

  3. python画三维温度散点图-Python 绘制酷炫的三维图步骤详解

    通常我们用 Python 绘制的都是二维平面图,但有时也需要绘制三维场景图,比如像下面这样的: 这些图怎么做出来呢?今天就来分享下如何一步步绘制出三维矢量(SVG)图. 八面体 我们先以下面这个八面体 ...

  4. python画50个图-Python绘制六种可视化图表详解,三维图最炫酷!你觉得呢?

    Python绘制六种可视化图表详解,三维图最炫酷!你觉得呢? 可视化图表,有相当多种,但常见的也就下面几种,其他比较复杂一点,大都也是基于如下几种进行组合,变换出来的.对于初学者来说,很容易被这官网上 ...

  5. python画三维折线图_使用Python的matplotlib画折线图,柱状图,三维图

    因为在各种场景下需要各种实验数据的对比图像,有的中还要求dpi,这些在Python中的matplotlib中都可以实现,下面是总结的各种画图命令. 打包文件:https://download.csdn ...

  6. python 画三维函数图-如何用Matplotlib 画三维图的示例代码

    最基本的三维图是由(x, y, z)三维坐标点构成的线图与散点图,可以用ax.plot3D和ax.scatter3D函数来创建,默认情况下,散点会自动改变透明度,以在平面上呈现出立体感 三维的线图和散 ...

  7. python储存与读取图片_Python下opencv使用笔记(一)(图像简单读取、显示与储存)...

    写在之前 从去年開始关注python这个软件,途中间间断断看与学过一些关于python的东西.感觉python确实是一个简单优美.easy上手的脚本编程语言,众多的第三方库使得python异常的强大. ...

  8. python画3d圆形图,Python绘制3D图形

    3d图形在数据分析.数据建模.图形和图像处理等领域中都有着广泛的应用,下面将给大家介绍一下如何使用python进行3d图形的绘制,包括3d散点.3d表面.3d轮廓.3d直线(曲线)以及3d文字等的绘制 ...

  9. OpenCv学习笔记(二)--Mat矩阵(图像容器)的创建及CV_8UC1,CV_8UC2等参数详解

    (一)Mat矩阵(图像容器)创建时CV_8UC1,CV_8UC2等参数详解 1--Mat不但是一个非常有用的图像容器类,同时也是一个通用的矩阵类 2--创建一个Mat对象的方法很多,我们现在先看一下M ...

  10. python画50个图-python绘制多个子图的实例

    python绘制多个子图的实例 绘制八个子图 import matplotlib.pyplot as plt fig = plt.figure() shape=['.','o','v','>', ...

最新文章

  1. AutowireCapableBeanFactory,实现不必配置xml文件,动态加载bean
  2. 分享我的第一个asp.net core开发过程
  3. dicom文件_图像识别 | 使用Python对医学Dicom文件的预处理(含代码)
  4. 认识与设计Serverless(二)
  5. 框架实现修改功能的原理_JAVA集合框架的特点及实现原理简介
  6. 从基于直方图的Graph-Cut到Grab-Cut
  7. C语言中Uint8_t数据类型
  8. 学计算机专业的需要买电脑吗,高三党升级“准大一生”,有必要买电脑吗?学长的回答可以参考...
  9. 微博2021年营收22.6亿美元同比增34% 日活用户达2.49亿
  10. 华为音量键只能调通话_手机音量键还在以为只能调音量?别傻了,赶紧看看下文绝对涨知识!...
  11. ajax同步异步问题
  12. Linux中的/ dev / null
  13. Python游戏开发入门3 Pygame屏幕绘制机制
  14. MATLAB实现Enigma 密码机
  15. Spring中AOP的Introductions使用介绍(五)
  16. 猫加路由加服务器加交换机怎么配置文件,猫和路由器以及交换机的连接方法[图解]...
  17. 自然语言处理从零到入门 BERT
  18. idea开发常用基本且非常实用的配置
  19. 共识算法-Mencius详解
  20. git 避免提交_新秀Git错误避免

热门文章

  1. android log4,GitHub - oronno/log4android: Log4Android - Simple Logging Wrapper Library for Android
  2. 开发日记-20190915 关键词 汇编语言王爽版 第十三章
  3. 可变导向车道——为了缓解高峰压力的临时转向车道
  4. wiretiger引擎支持行、列存储、LSM,mongodb用的哪个?
  5. js委托事件-addEventListeners(冒泡方向)
  6. Python学习之==面向对象编程(一)
  7. Python--32 模块 包
  8. vue分页tbale小荔枝
  9. 大整数乘法(POJ2389)
  10. hdu - 1072 Nightmare(bfs)