python-opencv实现简易画图板

# -*- coding: utf-8 -*-
"""
Created on Sat May 19 17:34:54 2018@author: xxx
"""import cv2 as cv
import numpy as npdef 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 = Trueix, 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)&0xFFif k == ord('m'):mode = not modeelif k==27:breakcv.destroyAllWindow()

python-opencv实现简易画图板相关推荐

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

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

  2. 简单的python画图代码_python opencv实现简易画图板

    python-opencv实现简易画图板,供大家参考,具体内容如下 # -*- coding: utf-8 -*- """ Created on Sat May 19 1 ...

  3. python opencv cv2在图片中画mask掩码/掩膜

    python opencv cv2在图片中画mask掩膜 import cv2 import numpy as np from PIL import Image import matplotlib.p ...

  4. java,制作简易画图板

    简易画图板 前些日子,我学习了关于xp系统简易画图板的制作,虽然我写的画图板功能不多,但这是我接触java以来完成的第一个项目,制作的时候感觉很艰难,有的时候明明知道思路,却因为不知道具体的方法而走了 ...

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

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

  6. 体感游戏 | 手势识别玩飞机大战游戏(二) Python+OpenCV实现简易手势识别功能

    后面将分四篇文章来介绍实现手势识别控制飞机大战游戏的功能,它们分别是: 使用Pygame实现简易飞机大战小游戏 使用Python+OpenCV实现简单手势识别 使用OpenCV实现手势识别玩飞机大战游 ...

  7. Java制作简易画图板

    简易画图板 基本思路 运行效果 基本思路 画图板需要满足的功能有: 画线,画三角形,画矩形,画多边形,画曲线 设置不同颜色的画笔 改变窗口大小或最小化窗口后重新打开时图案不消失 画图方法的编写: 创建 ...

  8. Java版简易画图板的实现

    Windows的画图板相信很多人都用过,这次我们就来讲讲Java版本的简易画板的实现. 基本的思路是这样的:画板实现大致分三部分:一是画板界面的实现,二是画板的监听以及画图的实现,三是画板的重绘.(文 ...

  9. Java 编写的简易画图板

    用Java编写的简易访xp系统的画图板 首先得建立一个窗口,也就是画图的位置,我试了两种方法. 第一种,定义一个类,在类里面建立JFrame对象 通过对象来进行窗口的建立. 第二种,定义一个类,继承J ...

最新文章

  1. SQL Server数据库收缩日志的方法
  2. 结构型模式 -- 代理模式(静态代理动态代理)
  3. log4j的配置参数
  4. 1061: [Noi2008]志愿者招募 - BZOJ
  5. H5 微信公众号 授权登录 前后端分离篇(后端02)
  6. ADO.NET高级应用
  7. 用SSE加速CPU蒙皮计算
  8. nginx 负载均衡 最初级版本
  9. 外网资源下载速度过慢的问题
  10. 广东财经大学计算机专业学费,广东财经大学各专业一年至少需要交的学费
  11. 【转】vc6.0配置STLPort
  12. CUDA编程之CMAKE
  13. 毁掉一个孩子只要十步(80%的家长都在做)
  14. C++ 关键字 typeid, typename
  15. react.development.js、React-dom.development.js、babel.min.js 下载
  16. 理解linux cpu load - 什么时候应该担心了
  17. IC卡(智能卡)基础知识简介
  18. 读书笔记:《七周七数据库》
  19. 阿里P8大牛亲自教你!树莓派docker
  20. BGP MPLS VPN(OPTION A)实验笔记

热门文章

  1. HLS / Chisel 实现CORDIC算法双曲系统
  2. 金蝶 EAS BOS F7过滤
  3. C语言字符串类基本知识
  4. UE5发布时出现SDK NOT Setup错误解决方法
  5. GraphQL查询规范
  6. 拆车、炸机、毁魔方,这个疯狂的算法竞赛少年目的是这样的…
  7. JAVASEOUL设计师品牌代购商城计算机毕业设计Mybatis+系统+数据库+调试部署
  8. 【CentOS7】在服务器上搭建基于Aria2的离线下载器
  9. 区块链开发公司 区块链何时能产生实际价值?
  10. 【干货】绕过校园网认证实现轻松上网