v4.2.4

v4.2.4 förenklar handskakningen med kameran med ett enda get_state()-kommando, snabbar upp den direkta bildbuffertvisningen genom att flytta JPEG-fokusmetrikberäkningen bort från sändningsvägen och lägger till visning av råa okomprimerade bildrutor under den komprimerade pixformat-vägen. Den här utgåvan stannar kvar på Qt Creator 10.0.1-basen och inkluderar OpenMV-firmware 4.5.9. De medföljande April-Tags-exemplen skrevs om för det nya AprilTag-API:et i firmware; användarskript skrivna mot det gamla API:et kan behöva uppdateras.

Höjdpunkter

  • Enkel get_state()-handskakning tömmer och frågar kamerans utskrifts- och bildbuffertar med ett enda kommando på firmware som stöder det, vilket ersätter separat getTxBuffer/frameSizeDump-pollning.

  • Snabbare direkt bildbuffertvisning flyttar den kostsamma JPEG-fokusmetrikberäkningen ut ur bildbuffertens sändningsväg och in i histogramuppdateringen.

  • Råa okomprimerade bildrutor (binär, grayscale8 och RGB565) kan nu tas emot och visas under den komprimerade pixformat-vägen, utöver JPEG.

  • Medföljande firmware 4.5.9 för alla kort som stöds, inklusive uppdaterade UVC-binärfiler.

Nya funktioner

  • Bildbuffertvisaren kan nu ta emot och visa råa okomprimerade bildrutor (binär, grayscale8 och RGB565) som skickas under den komprimerade pixformat-vägen, utöver JPEG. Binär radsteglängd är 4-byte-justerad. (cba5f5dda)

Övriga ändringar och förbättringar

  • IDE:n tömmer och frågar nu kamerans utskrifts- och bildbuffertar med ett enda nytt get_state()-kommando på firmware som stöder det, istället för separat getTxBuffer/frameSizeDump-pollning, vilket gör handskakningar för anslutning/frånkoppling/start effektivare. En versionsgrindad gren anropar getState() och avger en ny getStateDone()-signal vid slutförande av frame-size och tx-buffer. (ce137a7b6, 0cf969bfd)

  • Direkt bildbuffertvisning är snabbare eftersom JPEG-fokusmetrikberäkningen flyttades ut ur broadcastUpdate() och in i histogramuppdateringen, där den nu körs på en pixmap nedskalad till 160 px bredd. QCustomPlot-omritningar använder nu köad omritning. (9dbcd8875)

  • Alla medföljande AprilTag-exempel (find_apriltags, find_apriltags_3d_pose, find_apriltags_max_res, find_apriltags_w_lens_zoom, find_small_apriltags, pixy I2C/SPI/UART-emuleringsexemplen, modbus_apriltag, apriltag_tracking och RPC-exemplet popular_features_as_the_remote_device) uppdaterades till det nya AprilTag-API:et i firmware med egenskapsaccessorer och förenklades. Det medföljande TensorFlow-exemplet tf_object_detection.py ställer nu in en 240x240-fönsterbeskärning via sensor.set_windowing((240, 240)), och Bluetooth BLE-temperaturexemplet (examples/10-Bluetooth/ble_temperature.py) togs bort. (42a646b63)

Plattforms- och verktygsstöd

  • Qt Creator-bas: 10.0.1.

  • Medföljande OpenMV-firmware: uppdaterad 4.5.8 -> 4.5.9 för alla kort som stöds, inklusive OPENMV2/3/4/4P/PT, OPENMV_RT1060 och ARDUINO_GIGA/NICLA_VISION/PORTENTA_H7/NANO_RP2040_CONNECT/NANO_33_BLE_SENSE, med uppdaterade UVC-binärfiler. (42a646b63)

  • OpenMV IDE-version: höjd 4.2.1 -> 4.2.4.

Brytande ändringar

De medföljande April-Tags-exemplen skrevs om för det nya AprilTag-API:et i firmware: tag-accessorer är nu egenskaper (tag.rect, tag.cx, tag.cy, tag.rotation, tag.id, tag.name) istället för metodanrop. Det medföljande exemplet find_apriltags.py demonstrerar nu endast familjen TAG36H11; dess kod för val av flera familjer (TAG16H5/TAG25H7/TAG25H9/TAG36H10/ARTOOLKIT) och hjälpfunktionen family_name() togs bort. Användarskript skrivna mot det gamla metodanropsbaserade AprilTag-API:et kan behöva uppdateras för att matcha firmware 4.5.9.