python-opencv实现简易画图板
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实现简易画图板相关推荐
- 简单的python画图代码_python opencv如何实现简易画图板 python opencv实现简易画图板代码...
python opencv如何实现简易画图板?本篇文章小编给大家分享一下python opencv实现简易画图板代码,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 代码如下 ...
- 简单的python画图代码_python opencv实现简易画图板
python-opencv实现简易画图板,供大家参考,具体内容如下 # -*- coding: utf-8 -*- """ Created on Sat May 19 1 ...
- python opencv cv2在图片中画mask掩码/掩膜
python opencv cv2在图片中画mask掩膜 import cv2 import numpy as np from PIL import Image import matplotlib.p ...
- java,制作简易画图板
简易画图板 前些日子,我学习了关于xp系统简易画图板的制作,虽然我写的画图板功能不多,但这是我接触java以来完成的第一个项目,制作的时候感觉很艰难,有的时候明明知道思路,却因为不知道具体的方法而走了 ...
- java简易画图程序代码_java_简易画图板
下面我将分享用Java制作简易画图板的过程. version 1 Draw.java Java代码 importjavax.swing.JFrame; /** * * @author yangzhen ...
- 体感游戏 | 手势识别玩飞机大战游戏(二) Python+OpenCV实现简易手势识别功能
后面将分四篇文章来介绍实现手势识别控制飞机大战游戏的功能,它们分别是: 使用Pygame实现简易飞机大战小游戏 使用Python+OpenCV实现简单手势识别 使用OpenCV实现手势识别玩飞机大战游 ...
- Java制作简易画图板
简易画图板 基本思路 运行效果 基本思路 画图板需要满足的功能有: 画线,画三角形,画矩形,画多边形,画曲线 设置不同颜色的画笔 改变窗口大小或最小化窗口后重新打开时图案不消失 画图方法的编写: 创建 ...
- Java版简易画图板的实现
Windows的画图板相信很多人都用过,这次我们就来讲讲Java版本的简易画板的实现. 基本的思路是这样的:画板实现大致分三部分:一是画板界面的实现,二是画板的监听以及画图的实现,三是画板的重绘.(文 ...
- Java 编写的简易画图板
用Java编写的简易访xp系统的画图板 首先得建立一个窗口,也就是画图的位置,我试了两种方法. 第一种,定义一个类,在类里面建立JFrame对象 通过对象来进行窗口的建立. 第二种,定义一个类,继承J ...
最新文章
- SQL Server数据库收缩日志的方法
- 结构型模式 -- 代理模式(静态代理动态代理)
- log4j的配置参数
- 1061: [Noi2008]志愿者招募 - BZOJ
- H5 微信公众号 授权登录 前后端分离篇(后端02)
- ADO.NET高级应用
- 用SSE加速CPU蒙皮计算
- nginx 负载均衡 最初级版本
- 外网资源下载速度过慢的问题
- 广东财经大学计算机专业学费,广东财经大学各专业一年至少需要交的学费
- 【转】vc6.0配置STLPort
- CUDA编程之CMAKE
- 毁掉一个孩子只要十步(80%的家长都在做)
- C++ 关键字 typeid, typename
- react.development.js、React-dom.development.js、babel.min.js 下载
- 理解linux cpu load - 什么时候应该担心了
- IC卡(智能卡)基础知识简介
- 读书笔记:《七周七数据库》
- 阿里P8大牛亲自教你!树莓派docker
- BGP MPLS VPN(OPTION A)实验笔记