store 400hz images on sd card with QQQVGA

OpenMV related project discussion.
Yifei
Posts: 1
Joined: Thu Dec 05, 2019 10:53 am

store 400hz images on sd card with QQQVGA

Postby Yifei » Thu Dec 05, 2019 11:03 am

Hi,

I am working on a project which we would like to record QQQVGA images (60 by 80) on SD card with OpenMV4 H7 Cam. However, when I use the image.ImageWriter, the function seems to cost some time and I couldn't get 400 frame rate in the end. Is there anyway that can make it faster to record images on sd card?

Thanks a lot!
User avatar
iabdalkader
Posts: 1285
Joined: Sun May 24, 2015 3:53 pm

Re: store 400hz images on sd card with QQQVGA

Postby iabdalkader » Thu Dec 05, 2019 12:35 pm

Hi, currently it's not possible to get higher speeds, the images are not buffered in memory they get written to the SD card one by one, which is much slower than writing multiple sectors to the SD (with buffering on I can write up to 4MB/s).
c_realities
Posts: 2
Joined: Sun Aug 04, 2019 7:33 pm

Re: store 400hz images on sd card with QQQVGA

Postby c_realities » Tue Nov 10, 2020 8:50 pm

Hi, currently it's not possible to get higher speeds, the images are not buffered in memory they get written to the SD card one by one, which is much slower than writing multiple sectors to the SD (with buffering on I can write up to 4MB/s).
This is really unfortunate. Is there a (way to) benchmark or better understand what we can achieve from WRT total frames throughput to help make a desicion about what approach to invest building a workflow around?

context: experimenting with a surprisingly good tele setup with the global shutter imager. at the moment we just want QQVGA off the device as fast as possible to send it along for analysis.

Custom M12 Hood
Image
Image

with fixed position
Image

(further away for scale)
Image

it seems between VCP and imagewriter it's not clear how fast we can send/lay down frames. in the IDE i can get ~120hz with QQVGA but haven't been able to get SD bin files with acceptable quality (look much worse than the IDE output). Struggling to get a VCP solution working (consistently). with vcp difficulties, changed direction a few time and tried taking the 'downgrade' to use image writer) but it sounds like that's *even* slower.

I can work with RAW images on the host, but looking for advice on what the best choice would be, as i understand right now the choices are:
  • uncompressed via imagewriter
  • uncompressed via VCP
  • compressed via VCP
  • compressed via debug output + implementing derivative of the cpp listed in other related threads.
are there other options?
User avatar
kwagyeman
Posts: 4854
Joined: Sun May 24, 2015 2:10 pm

Re: store 400hz images on sd card with QQQVGA

Postby kwagyeman » Tue Nov 10, 2020 8:55 pm

The fastest way off of the STM32 right now is via USB with jpeg compression.

As for the SD card speed being slow. I have plans to fix this. However, it’s not going to be tackled until next year as it requires a really large RAM buffer. However, I’m going through the firmware and improving things a lot now using RAM buffers with triple buffering. I’ll have a triple buffer support for the camera ready by Christmas to max out your camera FPS under application load.
Nyamekye,

Return to “Project Discussion”

Who is online

Users browsing this forum: No registered users and 3 guests