Sorry, but we don’t use the RPI4 so I can’t answer your question. May be someone else has tried and could provide feedback about it
Yes, this was the good news for me - it still works with RPi (tested with RPi 4) after R8 was removed.
If someone more can test the camera in a RPi4 should be great, that would be a great thing if is confirmed for more people
Thanks Carlos for giving that hint. I have overseen that additional step.
Now, with the camera_overrides.isp installed, it looks much closer to the RPi interpretation:
As GStreamer can pick only frames from a video stream, there is no option for a long exposure (not longer than the framerate allows), so that was another reason, why the RPi image (taken with raspistill) was looking much better.
As there is nothing like raspistill for Jetson, under low light conditions I only see the workaround for taking multiple images and average them afterwards to reduce the noise an regain dynamic range. The image shown above was taken with that strategy (capturing 100 images and averaging them).
Another problem:
Meanwhile there was an Update from NVidea that also seemed to include a kernel patch. After that update, the camera was not found anymore. So I had to re-install the debian patches for the HQ camera again.
Not a good situation for the long term. Would be good, if NVidia could include that patch in their official packages…
Today another bunch of updates from the “Auto Updater” - and again some kernel patches that did overwrite the camera kernel patch. So this is not really a longterm solution…
Hi helge,
We are working on the long term solution to avoid this. It will take some weeks but be sure that NVIDIA and the partners network listen your feedback.
I don’t usually do this since I don’t like to encourage distributing third party SD Card images, but for testing purposes, if anybody is interested, here are some SD Card images for NX and Nano with RidgeRun’s patches applied.
You will still need either a modified HQ camera or one from Arducam designed spefically for use with Nano. I haven’t had much time to test recently, so please report any issues you find that don’t exist JetPack 4.4 (for example, missing packages or added packages).
Thanks for the images, they really helped me check that the IMX477 camera is working with my system - it looks like the latest update stopped the pre-compiled deb packages from working. Your image let me check that it was definitely a software problem!
Glad it helped @brian.patton !
LMK if you find any issues.
So far so good. The camera_overrides.isp needs to be installed to get a proper colour balance, but since people might be using multiple cameras, I think it makes sense that you haven’t done it by default. Perhaps a line in the webpage after the “you might need to install Jetpack” one would help?The instructions are here.
Thanks again!
Sorry for my impatience - is there already some progress on the “long term solution”?
Hi Helge, NVIDIA is working on it and you should be having official news before the end of the year.
-David
Hi helge ,
I also have the same sensor as yours, I would like to use it on the jetson, I’m interested, how do you process the 100 shots? would you show me a guide? I’m a beginner with work on Jetson :), let’s hope you can use long exposure times like on raspistill, for new year :)
Tk Matteo
Hi Matteo,
you can capture a video stream using OpenCV with a command like
cap = cv2.VideoCapture(“nvarguscamerasrc sensor-id=0 wbmode=1 ! video/x-raw(memory:NVMM), width=4032, height=3040,framerate=30/1,format=(string)NV12 ! nvvidconv flip-method=2 ! video/x-raw, width=4032, height=3040, format=(string)BGRx ! videoconvert ! video/x-raw, format=(string)BGR ! appsink”, cv2.CAP_GSTREAMER)
From this stream you pick frames with cap.read(). Now you either can go through each frame and summarize each of the R, G, B components of each pixel and divide the result through the number of frames.
A more elegant way is to convert the frame to a numpy array with np.asfarray(frame). These arrays can be summed up with just one single command like sum = sum + np.asfarray(frame). As these are floats, at the end it muss be adjusted with sum = sum / (255 * 100) in case of 100 frames.
@DavidSoto-RidgeRun: As we have year end now (almost), are there any news regarding the long term solution?
Hi Helge,
NVIDIA now supports the driver and releases the driver for Nano 2G, I think it will be included in the next Jetpack.
-David
Thanks a lot, I’m new to OpenCV, I know FFmpeg well. I’m trying to get closer to the world of video analysis, I have a project in mind that I would like to create with nividia GPU, I will publish a dedicated post, I hope to find help to make it happen. I apologize for my school English :), I’m Italian
Hi all,
Before some days I bought the nvidia jetson xavier nx and the raspberry Pi HQ camera. I tried to set the camera by following the steps ( OPTION A: Installing the kernel and dtb debians (Recommended)) of:
GitHub - RidgeRun/NVIDIA-Jetson-IMX477-RPIV3: NVIDIA Jetson IMX477 HQ RPI V3 camera driver.
When boot the platform it appears me ‘kernel modules could not be started’.
Then I checked my systems characteristics (see attachment)
and the kernel as I understood does not match with this given on the above link.I tried to understand where is the problem but can not find a solution on this problem and use the camera.
A the end, I have flashed the platform with latest version of jetpack by using an sd card.
I am not familiar with Jetson xavier nx and maybe my explanation is so simple but I am trying to understand and solve that issue.
Thanks for the consideration,
Hi everyone,
I’m happy to announce that the IMX477 driver porting for Jetpack 4.4.1 is ready for you all to give it a try. You can check it out in our Github repo:
https://github.com/RidgeRun/NVIDIA-Jetson-IMX477-RPIV3
The patches and the debian packages were updated. Don’t hesitate to let us know in case you find any issue.
Regards,
Carlos R

