Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Low frame rate #67

Open
BigMuscle85 opened this issue Aug 25, 2021 · 6 comments
Open

Low frame rate #67

BigMuscle85 opened this issue Aug 25, 2021 · 6 comments

Comments

@BigMuscle85
Copy link

Seek Thermal camera should have frame rate about 9 frames/sec. I am running on Raspberry Pi 4B and when using this library, the frame rate is stuck at 4.4 frames/sec. CPU usage is very low. When using official Seek Thermal SDK, the frame rate is correctly at +- 8.8 frames/sec.

I am running with Seek Mosaic Core 320x240 9Hz camera.
I tried with seek_test_pro example and the frame rate is low too.

What could cause this problem?

@Bostwickenator
Copy link
Contributor

Bostwickenator commented Aug 25, 2021 via email

@BigMuscle85
Copy link
Author

I didn't do any modification to the code, so I guess the camera is the same as Compact Pro. It is also reported with the same vendor and product numbers:

Bus 001 Device 004: ID 289d:0011
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x289d
  idProduct          0x0011
  bcdDevice            1.00
  iManufacturer           1 Seek Thermal, Inc.
  iProduct                2 PIR324 Thermal Camera
  iSerial                 0
  bNumConfigurations      1

When I increase request_size in fetch_frame, then nothing happens. It still reads 13680 bytes only.

@BigMuscle85
Copy link
Author

The issue is probably not related to the camera but it seems that even small delay in the code results in losing every second frame

[13:55:17] Frame id = 6, counter = 114
[13:55:17] Frame id = 1, counter = 115
[13:55:18] Frame id = 20, counter = 116
[13:55:18] Frame id = 3, counter = 119
[13:55:18] Frame id = 3, counter = 121
[13:55:18] Frame id = 3, counter = 123
[13:55:19] Frame id = 3, counter = 125
[13:55:19] Frame id = 3, counter = 127
[13:55:19] Frame id = 3, counter = 129

example code contains 10 ms delay on waitKey:
char c = cv::waitKey(10);

If I reduce to 1 ms only, then frames are not lost and frame rate increases to correct 8.8 frames/sec. It is actually weird, because 10 ms delay should still allow up to 100 frames/sec.

@Bostwickenator
Copy link
Contributor

Bostwickenator commented Aug 25, 2021 via email

@BigMuscle85
Copy link
Author

I just put frame grabbing into the separated thread and it solved my issue.

@Arnold1
Copy link

Arnold1 commented May 10, 2023

hi, im comparing the InfiRay 2 Pro and Topdon TC-001 with the SEEK thermal compactRPO.
the InfiRay 2 Pro and Topdon TC-001 seems to have a frame rate of 25 which SEEK thermal compactRPO. whats the advantage of using a SEEK thermal compactRPO instead of those other cameras?

this project does not work with the InfiRay 2 Pro and Topdon TC-001?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants