画图,即在摄像头对应位置画出图形,对于需要反馈信息的程序来说很直观。就如上一篇文章颜色识别当中的例子一样,我们在识别出的色块上画出矩形方框,并在中间标出十字,可以直观的看到OpenMV现在识别出的色块。
目录
一、画线
二、画框
三、画圆
四、画十字
五、写字
六、一起来!
一、画线
函数原型:image.draw_line(line_tuple,color=White)。
效果为在捕获的图像上画一条直线。
- line_tuple格式为(x0,y0,x1,y1),代表从(x0,y0)到(x1,y1)的直线。
- 颜色可以是灰度值(0~255),也可以是(r,g,b)格式的元组,默认是白色。
例:
img.draw_line((10,10,20,30), color=(255,0,0))
运行结果:
二、画框
函数原型:image.draw_rectangle(rect_tuple,color=White)
效果为在图像中画一个矩形框。
- rect_tuple的格式是(x,y,w,h)。分别代表矩形框左上角的x,y坐标,以及长和宽。
例:
img.draw_rectangle((0, 0, 41, 51), color=(255,0,0))
运行结果:
三、画圆
函数原型:image.draw_circle(x,y,radius,color=White)
效果为在图像中画一个圆。
- x,y是圆心坐标。
- radius是圆的半径。
例:
img.draw_circle(50, 50, 30)
运行结果:
四、画十字
函数原型:image.draw_cross(x,y,size=5,color=White)
效果为在图像中画一个十字
- x,y是十字交点坐标。
- size是两侧的尺寸。
例:
img.draw_cross(90,60,size=10)
运行结果:
五、写字
函数原型:image.draw_string(x,y,text,color=White)
效果为在图像中写字,8×10的像素。
- x,y是坐标。使用\n,\r and \r\n会使光标移动到下一行。
- text是要写的字符串。
例:
img.draw_string(10,10, "hello world!")
运行结果:
注:所有函数里的color可以不写,不写默认是白色,如果要指定颜色的话,必须在函数参数里标明color=。
六、一起来!
代码:
import sensor, image, time
sensor.reset() # 初始化摄像头
sensor.set_pixformat(sensor.RGB565) # 格式为 RGB565.
sensor.set_framesize(sensor.QQVGA)
sensor.skip_frames(10) # 跳过10帧,使新设置生效
while(True):
img = sensor.snapshot() # Take a picture and return the image.
img.draw_line((10,10,40,40), color=(255,0,0))
img.draw_rectangle((0, 0, 41, 51), color=(255,0,0))
img.draw_circle(50, 50, 30)
img.draw_cross(90,60,size=10)
img.draw_string(10,10, "hello world!")
运行结果: