上手行空板第二帖--做一个“掌中小画板”
最近在学习opencv,发现里面的一些api可以做一些好玩的东西,接下来请看下面https://www.bilibili.com/video/BV15a411G7sb
【使用软件】
mind+的python编程区
【使用硬件】
行空板 数据线
【制作步骤】
1.首先导入opencv的库文件
2.接下来运用opencv里面的鼠标回调函数编写一些程序
3.完成编写,接下来让我们看看效果吧
【功能展示】
1.当按下a键时,可以用手指绘制多边形
2.当按下b键时,可以用手指绘制圆形
【代码实例】
import cv2
import numpy as np
curshape = 0
startops = (0, 0)
img = np.zeros((320, 240, 3), np.uint8)
cv2.namedWindow('drawshape', cv2.WINDOW_NORMAL)
def mouse_callback(event, x, y, flags, userdate):
global curshape, startops
if(event & cv2.EVENT_LBUTTONDOWN == cv2.EVENT_LBUTTONDOWN):
startops = (x,y)
elif(event & cv2.EVENT_LBUTTONUP == cv2.EVENT_LBUTTONUP):
if curshape == 1:
pts = np.array(40,y+40)], np.int32)
cv2.polylines(img, , True, (0,0,255))
elif curshape == 2:
a = (x - startops[0])
b = (y - startops[1])
r = int((a**2+b**2)**0.5)
cv2.circle(img, startops, r, (255, 0, 0))
else:
print('error:no shape')
cv2.setMouseCallback('drawshape', mouse_callback, "123")
while True:
cv2.imshow('drawshape', img)
key = cv2.waitKey(0) & 0xFF
if key == ord("q"):
break
elif key == ord('a'):
curshape = 1
elif key == ord('b'):
curshape = 2
cv2.distoryAllWindow()
软件附件如下
拿着自己的行空板快试试吧
666666666666 哇!up主前两篇帖子都很有意思,期待更新
页:
[1]