python-opencv实现简易画图板,供大家参考,具体内容如下

# -*- coding: utf-8 -*-

"""

Created on Sat May 19 17:34:54 2018

@author: xxx

"""

import cv2 as cv

import numpy as np

def nothing(x):

pass

# 当鼠标按下时变为 True

drawing = False

# 如果 mode 为 True 绘制矩形。按下 'm' 变成绘制曲线

mode = True

ix, iy = -1, -1

#创建回调函数

def draw_circle(event, x, y, flags, param):

r = cv.getTrackbarPos('R', 'image')

g = cv.getTrackbarPos('G', 'image')

b = cv.getTrackbarPos('B', 'image')

color = (b, g, r)

global ix, iy, drawing, mode

# 当按下左键是返回起始位置坐标

if event == cv.EVENT_LBUTTONDOWN:

drawing = True

ix, iy = x, y

# 当鼠标左键按下并移动是绘制图形。event 可以查看移动, flag 查看是否按下

elif event == cv.EVENT_MOUSEMOVE and flags == cv.EVENT_FLAG_LBUTTON:

if drawing == True:

if mode == True:

cv.rectangle(img, (ix, iy), (x, y), color, -1)

else:

# 绘制圆圈,小圆点连在一起就成了线,3代表画笔的粗细

cv.circle(img, (ix, iy), 3, color, -1)

# 下面注释的代码是起始点为圆心,起点到终点为半径

# r = int(np.sqrt((x - ix)**2 + (y - iy)**2))

# cv.circle(img, (x, y), r, (0, 0, 255), -1)

# 当鼠标松开停止绘画

elif event == cv.EVENT_LBUTTONUP:

drawing == False

# if mode == True:

# cv.rectangle(img, (ix, iy), (x, y), (0, 255, 0), -1)

# else:

# cv.circle(img, (x, y), 5, (0, 0, 255), -1)

#创建一幅黑色图形

img = np.zeros((512, 512, 3), np.uint8)

cv.namedWindow('image')

cv.createTrackbar('R', 'image', 0, 255, nothing)

cv.createTrackbar('G', 'image', 0, 255, nothing)

cv.createTrackbar('B', 'image', 0, 255, nothing)

cv.setMouseCallback('image', draw_circle)

while(1):

cv.imshow('image', img)

k = cv.waitKey(1)&0xFF

if k == ord('m'):

mode = not mode

elif k==27:

break

cv.destroyAllWindow()

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

时间: 2020-08-25

简单的python画图代码_python opencv实现简易画图板相关推荐

  1. 简单的python画图代码_python opencv如何实现简易画图板 python opencv实现简易画图板代码...

    python opencv如何实现简易画图板?本篇文章小编给大家分享一下python opencv实现简易画图板代码,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 代码如下 ...

  2. java简易画图程序代码_java_简易画图板

    下面我将分享用Java制作简易画图板的过程. version 1 Draw.java Java代码 importjavax.swing.JFrame; /** * * @author yangzhen ...

  3. 用python画图代码意思_Python科学画图代码分享

    Python画图主要用到matplotlib这个库.Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形. 这里有一本电子书供大家参 ...

  4. 贪吃蛇python语言代码_Python贪吃蛇简单的代码

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 在自学Python的过程中在网上查询资料时发现了一些好玩的东西,python的游戏库模块,它可以自己弄一个小游戏来玩玩,然后我在网上找了一些游戏的代码,, ...

  5. python 画图代码及解释_python画图(图例、网格、注释) - v2

    每件事情总有两面性,当我们看到不太好的一面时,一定要想着去寻找一下好的一面.就比如,原本计划好的五一行程被打乱之后,我脑子里便诞生了一个"伟大"的想法,立马买好了乳胶漆打算利用闲暇 ...

  6. html画图代码_python之matplotlib画图教程(2)

    各位小表贝,你们的画图小老弟又来咯~ 上一次我们聊到了如何画离散图,这一次我们来点复杂的,准备好了么,系好安全带,准备发车咯~滴滴~ 我们先来点比较简单,那种易于上手的. 如果现在我知道了两个点的坐标 ...

  7. python小代码_Python爬虫入门有意思的小长代码

    一段有意思的代码,有兴趣的可以研究研究. 需求 用户收到短信如:购买了电影票或者火车票机票之类的事件.然后app读取短信,解析短信,获取时间地点,然后后台自动建立一个备忘录,在事件开始前1小时提醒用户 ...

  8. python数据挖掘视频_python+opencv实时视频目标检测

    python+opencv实时视频目标检测 opencv环境 1.访问Python Extension Packages for Windows,下载python对应版本的opencv. 比如小编下载 ...

  9. 用python画图代码-Python科学画图代码分享

    Python画图主要用到matplotlib这个库.Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形. 具体来说是pylab和p ...

最新文章

  1. 云服务器 ECS 建站教程:手工部署Java Web项目
  2. 【Pygame小游戏】《坦克大战》,那些童年的游戏你还记得几个呢?
  3. jQuery操作cookie
  4. 有没有什么方法快速能找到导致软件崩溃的进程_崩溃!电脑突然黑屏无法启动...
  5. pc模式 华为mate30_华为Mate30国内发布,这篇可能是全网最全干货贴
  6. 【注意】LeetCode 2. Add Two Numbers
  7. [实战]挖掘CSRF姿势
  8. pb数据窗口显示图片_AkShare股票数据A股市净率
  9. 小米MIX 2还没上一代震撼,为什么却说雷军更自信了?
  10. 自学考试-“软件开发工具”
  11. Python在Excel单元格中写入公式
  12. List 常用的 Lambda 操作
  13. Qt开发北斗定位系统融合百度地图API及Qt程序打包发布
  14. iOS icon图标尺寸
  15. JS实现华为账号授权服务,一键登录!
  16. 手推Logistic Regression
  17. 牛客 TaoTao要吃鸡(01背包)
  18. springboot项目Autowired annotation is not supported on static fields
  19. 第十五届全国大学生信息安全竞赛创新实践能力赛
  20. 【Spark分布式内存计算框架——Spark Streaming】9. 获取偏移量 应用案例:百度搜索风云榜(上)

热门文章

  1. mac的计算机名称,mac 如何修改计算机名_mac 修改计算机名称
  2. 投影仪家用哪个牌子好?如何选择投影仪
  3. cesium绘制卫星
  4. matlab中f分布,在matlab中用哪个函数求F分布的分位点(分子分母的自由度和概率均已知)...
  5. WPS文档消除格式并消除大片空白格
  6. 新生活、新成长、新认知
  7. C语言-统计单词个数
  8. MAC如何查看图片尺寸大小
  9. ​Word文档的隐藏功能​
  10. 普洱市企业登记“区块链云签名”试点工作启动, 用户操作仅需5分钟!