diff options
| author | Nikita Kostovsky <nikita@kostovsky.me> | 2025-03-01 01:19:51 +0100 |
|---|---|---|
| committer | Nikita Kostovsky <nikita@kostovsky.me> | 2025-03-01 01:19:51 +0100 |
| commit | a9af2d69c0a4d46dc98b6e0adaf13a7f23a24bce (patch) | |
| tree | 5eb50679833feb3a67a39fb4c64a47e8d264c503 /src/camera | |
| parent | fe81095bf011786ee5303549abc8debb22cddcf8 (diff) | |
got 370 fps with pixels calc (previous was for pixels / 4)
Diffstat (limited to 'src/camera')
| -rw-r--r-- | src/camera/innomakerov9281.cpp | 6 | ||||
| -rw-r--r-- | src/camera/veyeimx287m.cpp | 13 |
2 files changed, 14 insertions, 5 deletions
diff --git a/src/camera/innomakerov9281.cpp b/src/camera/innomakerov9281.cpp index 01f485d..184601a 100644 --- a/src/camera/innomakerov9281.cpp +++ b/src/camera/innomakerov9281.cpp @@ -33,6 +33,7 @@ extern uint64_t corr_elapsed_ns; extern uint64_t max_elapsed_ns; extern uint64_t value_elapsed_ns; extern uint64_t rot_elapsed_ns; +extern uint64_t pix_elapsed_ns; extern uint64_t dropped_count; // constexpr char videoDevice[] = "/dev/video0"; @@ -426,7 +427,8 @@ bool InnoMakerOV9281::getImage(size_t &imageIndex) if (elapsedTime > 1000.) { fprintf(stderr, - "fps: %d\tdropped: %d\tsec: %d\tdq: %d\tget: %d\trot: %d\tsum: %d,\tcorr: " + "fps: %d\tdropped: %d\tsec: %d\t" + "dq: %d\tget: %d\trot: %d\tpix: %d\tsum: %d,\tcorr: " "%d,\tval: %d\n", counter, dropped_count, @@ -434,6 +436,7 @@ bool InnoMakerOV9281::getImage(size_t &imageIndex) dq_elapsed_ns / 1000 / counter, get_elapsed_ns / 1000 / counter, rot_elapsed_ns / 1000 / counter, + pix_elapsed_ns / 1000 / counter, sum_elapsed_ns / 1000 / counter, corr_elapsed_ns / 1000 / counter, // max_elapsed_ns / 1000 / counter, @@ -446,6 +449,7 @@ bool InnoMakerOV9281::getImage(size_t &imageIndex) max_elapsed_ns = 0; value_elapsed_ns = 0; rot_elapsed_ns = 0; + pix_elapsed_ns = 0; dropped_count = 0; counter = 0; diff --git a/src/camera/veyeimx287m.cpp b/src/camera/veyeimx287m.cpp index c821997..dee3c6a 100644 --- a/src/camera/veyeimx287m.cpp +++ b/src/camera/veyeimx287m.cpp @@ -33,6 +33,7 @@ extern uint64_t corr_elapsed_ns; extern uint64_t max_elapsed_ns; extern uint64_t value_elapsed_ns; extern uint64_t rot_elapsed_ns; +extern uint64_t pix_elapsed_ns; extern uint64_t dropped_count; // constexpr char videoDevice[] = "/dev/video0"; @@ -356,6 +357,8 @@ void VeyeIMX287m::dequeueFrameLoop(std::stop_token stopToken) void VeyeIMX287m::calcFrameLoop(std::stop_token stopToken) { + QElapsedTimer t; + while (!stopToken.stop_requested()) { size_t bufferIdx{}; @@ -368,7 +371,6 @@ void VeyeIMX287m::calcFrameLoop(std::stop_token stopToken) auto &image = m_images[bufferIdx]; { - QElapsedTimer t; t.start(); // std::lock_guard buffer_lock{m_bufferMutexes[bufferIdx]}; memcpy(&image.data, m_videoBuffers[bufferIdx], img_size); @@ -378,7 +380,7 @@ void VeyeIMX287m::calcFrameLoop(std::stop_token stopToken) image.rotate(); image.pixels(); - setCamParam(V4L2_CID_EXPOSURE, 18); + // setCamParam(V4L2_CID_EXPOSURE, 18); } } @@ -396,14 +398,16 @@ bool VeyeIMX287m::dequeueImageBuffer(size_t &imageIndex) if (elapsedTime > 1000.) { fprintf(stderr, - "fps: %d\tdropped: %d\tsec: %d\tdq: %d\tget: %d\trot: %d\tsum: %d,\tcorr: " - "%d,\tval: %d\n", + "fps: %d\tdropped: %d sec: %d " + "dq: %d get: %d rot: %d pix: %d sum: %d corr: " + "%d val: %d\n", counter, dropped_count, curr.tv_sec % 1000, dq_elapsed_ns / 1000 / counter, get_elapsed_ns / 1000 / counter, rot_elapsed_ns / 1000 / counter, + pix_elapsed_ns / 1000 / counter, sum_elapsed_ns / 1000 / counter, corr_elapsed_ns / 1000 / counter, // max_elapsed_ns / 1000 / counter, @@ -416,6 +420,7 @@ bool VeyeIMX287m::dequeueImageBuffer(size_t &imageIndex) max_elapsed_ns = 0; value_elapsed_ns = 0; rot_elapsed_ns = 0; + pix_elapsed_ns = 0; dropped_count = 0; counter = 0; |
