前言
为了了解神经网络与深度学习,接触到了k210这个小玩意,先是跑了几个已经训练好的模板发现真的是太神奇了!更是激起了学习视觉这方面的热情,又反过头去学习图像处理的基础部分,发现博客上关于k210的例程是真的少…只能查阅"惜字如金"的官方例程,好不容易才解决一个很简单的问题(也赖博主实在太菜…)。在此记录学习成果,也为了今后的初学者能有例程参考。
代码
import sensor,image,lcd,time
lcd.init()
sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.skip_frames(time = 2000)
red_threshold = (87, 21, 27, 93, -5, 92)
blue_threshold = (14, 87, -83, 127, -113, -14)
def find_max(blobs):
max_size=0
for blob in blobs:
if blob[2]*blob[3] > max_size:
max_blob=blob
max_size = blob[2]*blob[3]
return max_blob
while True:
img=sensor.snapshot()
blobs = img.find_blobs([blue_threshold],merge=True)
if blobs:
max_blob = find_max(blobs)
img.draw_rectangle((max_blob.x(),max_blob.y(),max_blob.w(),max_blob.h()),color=(255,0,0))
img.draw_string(max_blob.x(),max_blob.y(), "(x,y) =")
img.draw_string(max_blob.x()+40,max_blob.y(), str(max_blob.cx()))
img.draw_string(max_blob.x()+60,max_blob.y(), str(max_blob.cy()))
lcd.display(img)
运行结果
注:坐标是从屏幕的左上角开始,x往右增大,y往下增大
|