python openCV自制绘画板


Posted in Python onOctober 27, 2020

本文实例为大家分享了python openCV自制绘画板的具体代码,供大家参考,具体内容如下

import numpy as np
import cv2
def nothing(x):
  pass
cv2.namedWindow('image')
img = np.zeros((512,512,3),np.uint8)
cv2.createTrackbar('R','image',0,255,nothing)
cv2.createTrackbar('G','image',0,255,nothing)
cv2.createTrackbar('B','image',0,255,nothing)
drawing = False
mode = True
ix,iy = -1,-1
def drawing_fragment(event,x,y,flags,param):
  r = cv2.getTrackbarPos('R','image')
  g = cv2.getTrackbarPos('G','image')
  b = cv2.getTrackbarPos('B','image')
  color = (b,g,r)
  global drawing,ix,iy,mode
  if event == cv2.EVENT_LBUTTONDOWN:
    drawing = True
    ix = x
    iy = y
  elif event == cv2.EVENT_MOUSEMOVE:
    if drawing:
      if mode:
        cv2.rectangle(img,(ix,iy),(x,y),color,-1)
      else:
        cv2.circle(img,(x,y),5,color,-1)
  elif event == cv2.EVENT_LBUTTONUP:
    drawing = False

cv2.setMouseCallback('image',drawing_fragment)
while True:
  cv2.imshow('image',img)
  k = cv2.waitKey(2)
  if k == 27:
    break
  elif k == ord('q'):
    mode = not mode
cv2.destroyAllWindows()

测试效果

python openCV自制绘画板

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

Python 相关文章推荐
python3.3实现乘法表示例
Feb 07 Python
Python实现的数据结构与算法之链表详解
Apr 22 Python
python在Windows下安装setuptools(easy_install工具)步骤详解
Jul 01 Python
python多线程socket编程之多客户端接入
Sep 12 Python
神经网络python源码分享
Dec 15 Python
Python实现查找数组中任意第k大的数字算法示例
Jan 23 Python
Python I/O与进程的详细讲解
Mar 08 Python
Python QQBot库的QQ聊天机器人
Jun 19 Python
python Django里CSRF 对应策略详解
Aug 05 Python
详解Python图像处理库Pillow常用使用方法
Sep 02 Python
python异常处理try except过程解析
Feb 03 Python
Python Matplotlib绘制动画的代码详解
May 30 Python
如何在windows下安装配置python工具Ulipad
Oct 27 #Python
Python调用JavaScript代码的方法
Oct 27 #Python
Pycharm中如何关掉python console
Oct 27 #Python
python和C++共享内存传输图像的示例
Oct 27 #Python
安装Anaconda3及使用Jupyter的方法
Oct 27 #Python
Python通过yagmail实现发送邮件代码解析
Oct 27 #Python
关于Python不换行输出和不换行输出end=““不显示的问题(亲测已解决)
Oct 27 #Python
You might like
ThinkPHP自动验证失败的解决方法
2011/06/09 PHP
用PHP写的基于Memcache的Queue实现代码
2011/11/27 PHP
整理php防注入和XSS攻击通用过滤
2015/09/13 PHP
Laravel网站打开速度优化的方法汇总
2017/07/16 PHP
javascript 随机展示头像实现代码
2011/12/06 Javascript
jQuery删除节点的三个方法即remove()detach()和empty()
2013/12/27 Javascript
一个获取第n个元素节点的js函数
2014/09/02 Javascript
运用jQuery定时器的原理实现banner图片切换
2014/10/22 Javascript
JavaScript采用递归算法计算阶乘实例
2015/08/04 Javascript
JS动态日期时间的获取方法
2015/09/28 Javascript
jQuery判断checkbox选中状态
2016/05/12 Javascript
Vue.js每天必学之组件与组件间的通信
2016/09/08 Javascript
js编写三级联动简单案例
2016/12/21 Javascript
详解vue-cli 脚手架项目-package.json
2017/07/04 Javascript
详解NODEJS的http实现
2018/01/04 NodeJs
vue-star评星组件开发实例
2018/03/01 Javascript
vue3.0 CLI - 2.6 - 组件的复用入门教程
2018/09/14 Javascript
vue中的面包屑导航组件实例代码
2019/07/01 Javascript
[06:04]DOTA2英雄梦之声Vol19卓尔游侠
2014/06/20 DOTA
vc6编写python扩展的方法分享
2014/01/17 Python
Python中tell()方法的使用详解
2015/05/24 Python
Python读写文件方法总结
2015/06/09 Python
pandas or sql计算前后两行数据间的增值方法
2018/04/20 Python
pyqt 实现QlineEdit 输入密码显示成圆点的方法
2019/06/24 Python
Python 实现遥感影像波段组合的示例代码
2019/08/04 Python
卡西欧G-SHOCK英国官网: 防水防震手表
2018/01/08 全球购物
西班牙电子产品购物网站:Electronicamente
2018/07/26 全球购物
台湾时尚彩瞳专门店:imeime
2019/08/16 全球购物
JAVA招聘远程笔试题
2015/07/23 面试题
大学生职业生涯规划书前言
2014/01/09 职场文书
和解协议书
2014/04/16 职场文书
化学专业自荐信
2014/05/28 职场文书
安全生产月标语
2014/10/07 职场文书
停车场管理协议书范本
2014/10/08 职场文书
详解JavaScript中Arguments对象用途
2021/08/30 Javascript
15个值得收藏的JavaScript函数
2021/09/15 Javascript