This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
wiki:v2:video_api [2018/09/21 16:29] pixycam |
wiki:v2:video_api [2018/10/10 20:06] jfrench added protocol reference link |
||
---|---|---|---|
Line 9: | Line 9: | ||
pixy.video.getRGB(50, 75, &r, &g, &b); // get red, green, blue values at location x=50, y=75 | pixy.video.getRGB(50, 75, &r, &g, &b); // get red, green, blue values at location x=50, y=75 | ||
</code> | </code> | ||
+ | |||
+ | See also the [[wiki:v2:general_api|Pixy2 General API]], [[wiki:v2:ccc_api|Color Connected Components API]], and [[wiki:v2:line_api|Line tracking API]] for other functionality. | ||
+ | |||
+ | For a byte-level reference to the protocol, check out the new [[wiki:v2:protocol_reference|Pixy2 Serial Protocol - Packet Reference]] | ||
Line 14: | Line 18: | ||
- | It is recommended to take a look at the _video\_get\_rgb example in the Arduino Pixy2 library._ | + | Take a look at the _video\_get\_rgb_ example in the Arduino Pixy2 library. |
+ | |||
+ | |||
+ | Note, full frame-grabs are only supported through the USB interface and [[wiki:v2:building_the_libpixyusb_example_on_linux|libpixyusb]], not through the SPI, I2C or UART serial interfaces (i.e. Arduino). [[wiki:v2:building_the_libpixyusb_example_on_linux|Libpixyusb]] includes a frame-grab example called [[https://github.com/charmedlabs/pixy2/tree/master/src/host/libpixyusb2_examples/get_raw_frame|get_raw_frame]]. It uses a special function called getRawFrame() that isn't part of the video API. We could add this, but where would a 65K-byte raw frame fit in Arduino memory? :( | ||
==== Member functions ==== | ==== Member functions ==== | ||
Line 28: | Line 36: | ||
- | getRGB() actually takes a 5x5 section of pixels centered at the x, y location and performs an average of all 25 pixels to obtain a representative result. | + | Instead of using just one pixel, getRGB() takes a 5x5 section of pixels centered at the x, y location and performs an average of all 25 pixels to obtain a representative result. Locations on the edge or close to the edge of the image are allowed, but will result in fewer pixels being averaged. |
Line 40: | Line 48: | ||
- | . | + | Note, [[wiki:v2:pixymon_overview|PixyMon]] displays the x, y mouse location in image coordinates in the lower right corner of the main window to help determine the coordinates to request from getRGB(). |