Low frames per seconds for USB camera with Jetson Xavier AGX

Hi

I am facing problem with using USB camera (See3CAM_CU135_CHL_TC) with Jetson Xavier AGX that i got low fps I run the following simple code but I got only 7.8 fps

import cv2
import time
print(cv2.version)
dispW=640
dispH=480
flip=2

cam=cv2.VideoCapture(0)
fps_start_time=0
fps=0
while True:
ret, frame = cam.read()
frame = cv2.resize(frame, (680, 480))
fps_end_time = time.time()
time_diff = fps_end_time - fps_start_time
fps = 1 / (time_diff)
fps_start_time = fps_end_time
fps_text = “FPS: {:.2F}”.format(fps)
cv2.putText(frame, fps_text, (5, 30), cv2.FONT_HERSHEY_COMPLEX, 1, (0, 255, 255), 1)
cv2.imshow(‘nanoCam’,frame)
if cv2.waitKey(1)==ord(‘q’):
break
cam.release()
cv2.destroyAllWindows()

I tried with other Thermal USB camera (BOSON Core 320) and I reached 60 fps with same Jetson xavier AGX and same code

I run this command while only (See3CAM_CU135_CHL_TC) camera connected to Jetson xavier AGX and i got the following

jetsonxavier@ubuntu:~$ v4l2-ctl -d0 --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
Index : 0
Type : Video Capture
Pixel Format: ‘UYVY’
Name : UYVY 4:2:2
Size: Discrete 1280x720
Interval: Discrete 0.017s (60.000 fps)
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 1920x1080
Interval: Discrete 0.017s (60.000 fps)
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 3840x2160
Interval: Discrete 0.067s (15.000 fps)
Interval: Discrete 0.133s (7.500 fps)
Size: Discrete 4208x3120
Interval: Discrete 0.111s (9.000 fps)
Interval: Discrete 0.222s (4.500 fps)
Size: Discrete 4096x2160
Interval: Discrete 0.067s (15.000 fps)
Interval: Discrete 0.133s (7.500 fps)
Size: Discrete 640x480
Interval: Discrete 0.008s (120.000 fps)
Interval: Discrete 0.017s (60.000 fps)
Size: Discrete 1280x960
Interval: Discrete 0.017s (60.000 fps)
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 1920x1440
Interval: Discrete 0.022s (45.000 fps)
Interval: Discrete 0.044s (22.500 fps)
Size: Discrete 2880x2160
Interval: Discrete 0.050s (20.000 fps)
Interval: Discrete 0.100s (10.000 fps)

Index       : 1
Type        : Video Capture
Pixel Format: 'MJPG' (compressed)
Name        : Motion-JPEG
	Size: Discrete 1280x720
		Interval: Discrete 0.017s (60.000 fps)
	Size: Discrete 1920x1080
		Interval: Discrete 0.017s (60.000 fps)
	Size: Discrete 3840x2160
		Interval: Discrete 0.033s (30.000 fps)
	Size: Discrete 4208x3120
		Interval: Discrete 0.050s (20.000 fps)
	Size: Discrete 4096x2160
		Interval: Discrete 0.033s (30.000 fps)
	Size: Discrete 640x480
		Interval: Discrete 0.008s (120.000 fps)
	Size: Discrete 1280x960
		Interval: Discrete 0.017s (60.000 fps)
	Size: Discrete 1920x1440
		Interval: Discrete 0.017s (60.000 fps)
	Size: Discrete 2880x2160
		Interval: Discrete 0.033s (30.000 fps)

I tried two new (See3CAM_CU135_CHL_TC) but have same problem. I tested them on my laptop and can reach 30 fps so it is only happen in Jetson xavier AGX

I am using the following Libraries

Jetpack 4.6.2
Opencv 4.4.1
Python 3.6

This is to note that i flashed Jetson xavier AGX and I am thinking if i forget such support libraries to install

Looking for your support

Hi,
Not sure if it help but please try to run gstreamer command cv2.VideoCapture(). Here is a sample for reference:
V4l2src using OpenCV Gstreamer is not working in Jetson Xavier NX - #3 by DaneLLL

And execute sudo nvpmodel -m 0 and sudo jetson_clocks. The two commands enable CPU/GPU cores at maximum clocks. You can check system loading by executing sudo tegrastats

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.