Python基于opencv实现的简单画板功能示例
2019-03-28 10:59
1031 查看
本文实例讲述了Python基于opencv实现的简单画板功能。分享给大家供大家参考,具体如下:
import cv2 import numpy as np drawing = False # true if mouse is pressed ix,iy = -1,-1 def nothing(x): pass # mouse callback function def draw_circle(event,x,y,flags,param): global ix,iy,drawing g = param[0] b = param[1] r = param[2] shape = param[3] if event == cv2.EVENT_LBUTTONDOWN: drawing = True ix,iy = x,y elif event == cv2.EVENT_MOUSEMOVE: if drawing == True: if shape == 0: cv2.rectangle(img,(ix,iy),(x,y),(g,b,r),-1) else: cv2.circle(img,(x,y),5,(g,b,r),-1) elif event == cv2.EVENT_LBUTTONUP: drawing = False if shape == 0: cv2.rectangle(img,(ix,iy),(x,y),(g,b,r),-1) else: cv2.circle(img,(x,y),5,(g,b,r),-1) # Create a black image, a window img = np.zeros((300,512,3), np.uint8) cv2.namedWindow('image') # create trackbars for color change cv2.createTrackbar('R','image',0,255,nothing) cv2.createTrackbar('G','image',0,255,nothing) cv2.createTrackbar('B','image',0,255,nothing) # create switch for ON/OFF functionality switch1 = '0 : OFF \n1 : ON' switch2 = '0: Rectangle \n1: Line ' cv2.createTrackbar(switch1, 'image',0,1,nothing) cv2.createTrackbar(switch2, 'image',0,1,nothing) while(1): cv2.imshow('image',img) k = cv2.waitKey(1) & 0xFF # get current positions of four trackbars if k == 27: break r = cv2.getTrackbarPos('R','image') g = cv2.getTrackbarPos('G','image') b = cv2.getTrackbarPos('B','image') shape = cv2.getTrackbarPos(switch2,'image') s = cv2.getTrackbarPos(switch1,'image') if s == 0: img[:] = 0 else: if k == 27: break cv2.setMouseCallback('image',draw_circle,(b,g,r,shape)) cv2.destroyAllWindows()
运行效果:
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数学运算技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》、《Python文件与目录操作技巧汇总》及《Python图片操作技巧总结》
希望本文所述对大家Python程序设计有所帮助。
您可能感兴趣的文章:
相关文章推荐
- Python基于socket实现简单的即时通讯功能示例
- Python Socket实现简单TCP Server/client功能示例
- Python基于Socket实现的简单聊天程序示例
- Python+Socket实现基于TCP协议的客户与服务端中文自动回复聊天功能示例
- Python图像处理之简单画板实现方法示例
- Python实现的简单模板引擎功能示例
- Python实现的拟合二元一次函数功能示例【基于scipy模块】
- 基于Python实现的ID3决策树功能示例
- Python实现简单生成验证码功能【基于random模块】
- Python实现的简单dns查询功能示例
- Python3实现的简单验证码识别功能示例
- python之Flask实现简单登录功能的示例代码
- python实现简单爬虫功能的示例
- 利用python实现简单的循环购物车功能示例代码
- JavaScript基于DOM操作实现简单的数学运算功能示例
- Python基于列表list实现的CRUD操作功能示例
- Python简单实现socket信息发送与监听功能示例
- Python实现基于TCP UDP协议的IPv4 IPv6模式客户端和服务端功能示例
- 最简单方法:windows平台下python安装opencv,即实现import cv2功能
- python实现简单爬虫功能的示例