“MicroMV 获取图像”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
 
(未显示另一用户的1个中间版本)
第19行: 第19行:
 
     img.draw_cross(50,50,size=10,color=(0,0,255)) #画蓝色十字,用来定位颜色识别点
 
     img.draw_cross(50,50,size=10,color=(0,0,255)) #画蓝色十字,用来定位颜色识别点
 
</source>
 
</source>
::示例结果如下:
+
 
 +
::示例结果如下图,从图中可见蓝色光标置在了红色物体上,图左下方串口监视窗口内打印了其RGB数值
 +
 
 
::[[File:MicroMV_getPixel.jpg|800px|MicroMV getPixel]]<br>
 
::[[File:MicroMV_getPixel.jpg|800px|MicroMV getPixel]]<br>
  
第26行: 第28行:
 
**'''image.width()''' 返回图像的宽度(像素)
 
**'''image.width()''' 返回图像的宽度(像素)
 
**'''image.height()''' 返回图像的高度(像素)
 
**'''image.height()''' 返回图像的高度(像素)
**'''image.format()''' 灰度图会返回 sensor.GRAYSCALE,彩色图会返回 sensor.RGB565。
+
**'''image.format()''' 灰度图会返回 sensor.GRAYSCALE,数值为3,彩色图会返回 sensor.RGB565,数值为1
 
**'''image.size()''' 返回图像的大小(byte)
 
**'''image.size()''' 返回图像的大小(byte)
 +
  
 
::示例代码如下:
 
::示例代码如下:
第44行: 第47行:
 
     print(img.width(),img.height(),img.format(),img.size())  
 
     print(img.width(),img.height(),img.format(),img.size())  
 
</source>
 
</source>
::示例结果如下:
+
::示例结果如下图,左下角串口监视窗口打印出获取的信息
::[[File:MicroMV_getWidth.png|MicroMV getWidth]]<br>
+
::[[File:MicroMV_getWidth.png|800px|MicroMV getWidth]]<br>
  
  
第70行: 第73行:
  
  
[[MicroMV目录|返回MicroMV目录页面]]
+
[[MicroMV 简介|返回MicroMV目录页面]]

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目录页面