OpenCv实现绘图功能

本文实例为大家分享了OpenCv实现绘图功能的具体代码,供大家参考,具体内容如下

绘制一个图像在上面画线:

import numpy as np
import matplotlib.pyplot as plt
import cv2
#画图
def show(image):
    plt.imshow(image)
    plt.axis('off')
    plt.show()

image = np.zeros((300,300,3),dtype='uint8')

#画线
green = (0,255,0)
cv2.line(image,(0,0),(300,300),green)#(0,0)开始点,(300,300)是结束点
#注意opencv的(0,0)点是从左上角开始的

blue = (0,0,225)
cv2.line(image,(300,0),(150,150),blue,5)#5表示线的宽度

show(image)

图像展示:

绘制一个矩形:

import numpy as np
import matplotlib.pyplot as plt
import cv2
#画图
def show(image):
    plt.imshow(image)
    plt.axis('off')
    plt.show()

image = np.zeros((300,300,3),dtype='uint8')

#画线
green = (0,255,0)
cv2.line(image,(0,0),(300,300),green)#(0,0)开始点,(300,300)是结束点
#注意opencv的(0,0)点是从左上角开始的

blue = (0,0,225)
cv2.line(image,(300,0),(150,150),blue,5)#5表示线的宽度

#绘制矩形
red=(255,0,0)
cv2.rectangle(image,(10,10),(60,60),red,2)#2表示矩形框的宽度

#填充
green=(0,255,0)
cv2.rectangle(image,(40,40),(100,100),green,-1)#-1表示矩形框填充

show(image)

注意:填充和非填充的矩形画法

图形展示:

绘制一个圆形:

import numpy as np
import matplotlib.pyplot as plt
import cv2
#画图
def show(image):
    plt.imshow(image)
    plt.axis('off')
    plt.show()

#绘制圆形
white=(255,255,255)
image1 =np.zeros((300,300,3),dtype='uint8')
#设置圆心位置shape[1]表示宽度,shape[0]表示高度
(cX,cY) = image1.shape[1]//2,image1.shape[0]//2
for r in range(0,151,15):#从0循环到151,步长是15,r表示半径
    cv2.circle(image1,(cX,cY),r,white)

show(image1)

图形展示:

绘制一个填充圆形:

import numpy as np
import matplotlib.pyplot as plt
import cv2
#画图
def show(image):
    plt.imshow(image)
    plt.axis('off')
    plt.show()

#绘制圆形填充
image2=np.zeros((300,300,3),dtype='uint8')
for i in range(10):
    #半径取值
    radiu=np.random.randint(5,200)
    #颜色取值
    color=np.random.randint(0,255,size=(3,)).tolist()
    #圆心取值
    pt=np.random.randint(0,300,size=(2,))
    #画图
    cv2.circle(image2,tuple(pt),radiu,color,-1)

show(image2)

图形展示:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • python 基于opencv 实现一个鼠标绘图小程序

    需求 在画布上用鼠标画图,可以画圆或矩形,按m键在两种模式下切换.左键按下时开始画图,移动到哪儿画到哪儿,左键释放时结束画图. 实现思想 用鼠标画图:需要定义鼠标的回调函数mouse_event 画圆或矩形:需要定义一个画图的模式mode 左键单击.移动.释放:需要捕获三个不同的事件 开始画图,结束画图:需要定义一个画图的标记位drawing 实现代码 import cv2 as cv import numpy as np drawing = False # 是否开始画图 mode = True

  • OpenCv实现绘图功能

    本文实例为大家分享了OpenCv实现绘图功能的具体代码,供大家参考,具体内容如下 绘制一个图像在上面画线: import numpy as np import matplotlib.pyplot as plt import cv2 #画图 def show(image): plt.imshow(image) plt.axis('off') plt.show() image = np.zeros((300,300,3),dtype='uint8') #画线 green = (0,255,0) cv

  • OpenCV绘制图形功能

    本文实例为大家分享了OpenCV绘制图形功能的具体代码,供大家参考,具体内容如下 1.绘制直线 绘制直线函数是cv::line,函数完整形式如下 void line(InputOutputArray img, Point pt1, Point pt2, const Scalar& color, int thickness = 1, int lineType = LINE_8, int shift = 0); /* @param img 图像 @param pt1 线段端点1 @param pt2

  • OpenCV实现马赛克功能

    本文实例为大家分享了OpenCV实现马赛克功能的具体代码,供大家参考,具体内容如下 实现用按下鼠标左键拖动时,在鼠标经过的路径上打上马赛克. 马赛克的原理是将图像中选中区域的像素用这个选中区域中的某一像素覆盖. 为了不让鼠标重复经过图像中同一个的时候,选取不一样的像素,该程序将在输入图片的时候,就实现了全图的马赛克效果.而当鼠标划过的时候,程序只是将实现马赛克的图片的指定位置复制到显示的图像中. 效果类似于QQ截图中的马赛克. #include <opencv2\core\core.hpp>

  • 原生JS使用Canvas实现拖拽式绘图功能

    一.实现的功能 1.基于oop思想构建,支持坐标点.线条(由坐标点组成,包含方向).多边形(由多个坐标点组成).圆形(包含圆心坐标点和半径)等实体 2.原生JavaScript实现,不依赖任何第三方js库和插件 3.多图形绘制(支持画笔.线条.箭头.三角形.矩形.平行四边形.梯形以及多边形和圆形绘制) 4.拖拽式绘制(鼠标移动过程中不断进行canvas重绘) 5.图片绘制(作为背景图片时重绘会发生闪烁现象,暂时有点问题,后面继续完善) 5.清空绘制功能 6.新版本优化绘制性能(使用共享坐标变量数

  • Python使用matplotlib实现基础绘图功能示例

    本文实例讲述了Python使用matplotlib实现基础绘图功能.分享给大家供大家参考,具体如下: 一个简单的例子 # -*- coding:utf-8 -*- #!python3 import numpy as np import matplotlib.pyplot as plt x = np.linspace(0,10,101) #设置起始及终点,以及点的数量 y = np.sin(x) #调用numpy库的sin函数 z = np.cos(x**2) plt.figure(figsize

  • TensorFlow2.X结合OpenCV 实现手势识别功能

    使用Tensorflow 构建卷积神经网络,训练手势识别模型,使用opencv DNN 模块加载模型实时手势识别 效果如下: 先显示下部分数据集图片(0到9的表示,感觉很怪) 构建模型进行训练 数据集地址 import tensorflow as tf from tensorflow import keras from tensorflow.keras import datasets,layers,optimizers,Sequential,metrics from tensorflow.pyt

  • Opencv实现画笔功能

    本文实例为大家分享了Opencv实现画笔功能的具体代码,供大家参考,具体内容如下 #include<iostream> #include<opencv2/opencv.hpp> using namespace std; using namespace cv; Rect g_rectangle; bool g_bDrawing = false; RNG g_rng(12345); Point g_nCurrPoint; int g_nThick = 0, g_nBlue = 255,

  • Python+Opencv实现图像匹配功能(模板匹配)

    本文实例为大家分享了Python+Opencv实现图像匹配功能的具体代码,供大家参考,具体内容如下 1.原理 简单来说,模板匹配就是拿一个模板(图片)在目标图片上依次滑动,每次计算模板与模板下方的子图的相似度,最后就计算出了非常多的相似度: 如果只是单个目标的匹配,那只需要取相似度最大值所在的位置就可以得出匹配位置: 如果要匹配多个目标,那就设定一个阈值,就是说,只要相似度大于比如0.8,就认为是要匹配的目标. 1.1 相似度度量指标 差值平方和匹配 CV_TM_SQDIFF 标准化差值平方和匹

  • 利用Java+OpenCV实现拍照功能

    由于项目需要拍照,看了好多的资料不是C语言的就是python,开始用的JavaCv但是有好多问题,所以改成了OpenCv 只能硬着上了,查了好的网上的资料,终于找到了 依赖jar包:只有一个OpenCv的jar包,可以直接从官网上下载 下面上代码 import java.awt.Graphics; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.image.Buffered

  • OpenCV图像处理GUI功能

    目录 一.图像入门 1.读取图像 2.显示图像 3.保存图像 二.视频入门 1.用相机捕捉视频 2.播放视频文件 3.保存视频 总结 OpenCV图像处理 一.图像入门 1.读取图像 使用 cv.imread() 函数读取一张图像,图片应该在工作目录中,或者应该提供完整的图像路径.第二个参数是一个 flag,指定了应该读取图像的方式 cv.IMREAD_COLOR:加载彩色图像,任何图像的透明度都会被忽略,它是默认标志cv.IMREAD_GRAYSCALE:以灰度模式加载图像cv.IMREAD_

随机推荐