机器人
science robotic是science旗下的一个子期刊,机器人的前沿领域
openmv
print函数
print函数是在openmv的终端里面打印的数据
import sensor, image, time
sensor.reset() # 初始化摄像头
sensor.set_pixformat(sensor.RGB565) # 格式为 RGB565.
#函数体现在我们的摄像头显示的是黑白色还是彩色
sensor.set_framesize(sensor.QVGA)#函数体现在我们看到的图像的像素点的多少,及图片的大小
sensor.skip_frames(10) # 跳过10帧,使新设置生效(目的是为了跳过图片抖动的时间,以获得更稳定的图片,有点类似于按键防抖的操作)
sensor.set_auto_whitebal(False) # Create a clock object to track the FPS.
ROI=(80,30,15,15)
while(True):
img = sensor.snapshot() # Take a picture and return the image.
statistics=img.get_statistics(roi=ROI)
#这些参数都是int类型的参数
color_l=statistics.l_mode()
color_a=statistics.a_mode()
color_b=statistics.b_mode()
#print函数是将参数打印到openmv的IDE当中的函数
print(color_l,color_a,color_b)
img.draw_rectangle(ROI)
查找色块用的就是LAB模式
LAB色彩空间被设计出来接近人类视觉。
相应的还有RGB和CMYK色彩空间
镜头的畸变
由于感光元件上面的感光点和镜头的距离不同所以在拍摄时会在边缘出现鱼眼效果(桶形畸变)。
为了解决这个问题,可以在代码中使用算法来矫正畸变,注:OpenMV中使用image.lens_corr(1.8)来矫正2.8mm焦距的镜头。也可以直接使用无畸变镜头。无畸变镜头加入了额外的矫正透镜部分,价格自然会高不少。
image.len_corr(1.8)#用来矫正镜头产生的畸变
摄像头的滤光片
由于红外光也会对感光元件产生影响所以我们在镜头上添加了一个过滤镜片来阻隔红外光。
MICROPYTHON注意事项
microPython并不兼容PC上的python模块
元组
ATT:定义只有一个元素的元祖方法
a=(1) 是不对的,在这里编译器不能分清()是小括号还是元组
a=(1,)是对的
原因:编译器在编译的时候在第一种情况下是不能区分()是数学括号还是元组
所以那个人就将他默认为数学括号了
颜色阈值
用openmv的IDE可以轻松地获得相应的色块阈(yu)值。
函数
sensor是摄像头的感光元件有关的函数
摄像头的初始化什么的都在里面可以调用。
wifi通信
用8266就可以实现openmv的串口通信功能,实现图像的传输
wifi图传链接
寻找色块
markdown
markdown是什么,这个问题谷歌一下就好啦~~~是一种轻量级的标记语言,常用与文章排版~
生活趣闻
无辐条自行车
用子芯片自制的一个刷新率只有10s一帧的GPU