MicroMV 获取图像

来自Microduino Wikipedia
502748957@qq.com讨论 | 贡献2018年12月7日 (五) 03:20的版本
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索

MicroMV图像基本信息的获取与设置

  • 获取像素点值

    • image.get_pixel(x, y)
对于灰度图: 返回(x,y)坐标的灰度值.
对于彩色图: 返回(x,y)坐标的(r,g,b)的tuple.
以下示例为获取坐标点(50,50)的色彩值并打印出来的示例,蓝色十字标的中心为像素定位点,具体代码如下:
import sensor

sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QQVGA)
sensor.skip_frames()

while(True):
    img = sensor.snapshot()
    print(img.get_pixel(50,50))  #获取坐标点(50,50)的色彩值并打印出来
    img.draw_cross(50,50,size=10,color=(0,0,255)) #画蓝色十字,用来定位颜色识别点
示例结果如下图,从图中可见蓝色光标置在了红色物体上,图左下方串口监视窗口内打印了其RGB数值
MicroMV getPixel


  • 获取图像的宽度和高度

    • image.width() 返回图像的宽度(像素)
    • image.height() 返回图像的高度(像素)
    • image.format() 灰度图会返回 sensor.GRAYSCALE,数值为3,彩色图会返回 sensor.RGB565,数值为1
    • image.size() 返回图像的大小(byte)


示例代码如下:
import sensor

sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QQVGA)
sensor.skip_frames()

while(True):
    img = sensor.snapshot()
    
    #串口依次打印图像宽度、图像高度、图像格式、图像大小
    print(img.width(),img.height(),img.format(),img.size())
示例结果如下图,左下角串口监视窗口打印出获取的信息
MicroMV getWidth


  • 设置像素点

    • image.set_pixel(x, y, pixel)
对于灰度图: 设置(x,y)坐标的灰度值.
对于彩色图: 设置(x,y)坐标的(r,g,b)的值.


以下示例为在图像上连续设置50个像素点颜色为红色的代码,显示出来的效果为一条红色直线
import sensor

sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.skip_frames()

while(True):
    img = sensor.snapshot()
    for i in range(50):
        img.set_pixel(10+i,40,(255,0,0))


返回MicroMV目录页面