I am using rpi camera v2 for capturing image in axon board.
I am using v4l2-ctl library for capturing image but captured image is looking greenish.
do one thing,
sudo apt update
sudo apt upgrade
Most probably the issue is coming from the in-built ISP tuning file, updating the linux will install the necessary ISP files into the board for rpi cam-v2
I also tried this but still facing same problem.
give me output of
cat /etc/os-release
icharak@vicharak:~$ cat /etc/os-release
PRETTY_NAME=“Ubuntu 24.04.4 LTS”
NAME=“Ubuntu”
VERSION_ID=“24.04”
VERSION=“24.04.4 LTS (Noble Numbat)”
VERSION_CODENAME=noble
ID=ubuntu
ID_LIKE=debian
HOME_URL=“https://www.ubuntu.com/”
SUPPORT_URL=“https://help.ubuntu.com/”
BUG_REPORT_URL=“Bugs : Ubuntu”
PRIVACY_POLICY_URL=“Data privacy | Ubuntu and Canonical Legal”
UBUNTU_CODENAME=noble
LOGO=ubuntu-logo
vicharak@vicharak:~$
check if there is a tuning file for the imx219,
ls /etc/iqfiles/imx219*
vicharak@vicharak:~$ ls /etc/iqfiles/imx219*
/etc/iqfiles/imx219_RADXA-CAMERA-8M_default.json
/etc/iqfiles/imx219_rpi-camera-v2_default.json
vicharak@vicharak:~$
There are IQ files for the camera, give me output of
media-ctl -d 0 -p
media-ctl -d 1 -p
vicharak@vicharak:~$ media-ctl -d 0 -p
media-ctl -d 1 -p
Media controller API version 6.1.75
Media device information
driver rkcif
model rkcif-mipi-lvds2
serial
bus info platform:rkcif-mipi-lvds2
hw revision 0x0
driver version 6.1.75
Device topology
-
entity 1: stream_cif_mipi_id0 (1 pad, 11 links)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
← “rockchip-mipi-csi2”:1 [ENABLED]
← “rockchip-mipi-csi2”:2
← “rockchip-mipi-csi2”:3
← “rockchip-mipi-csi2”:4
← “rockchip-mipi-csi2”:5
← “rockchip-mipi-csi2”:6
← “rockchip-mipi-csi2”:7
← “rockchip-mipi-csi2”:8
← “rockchip-mipi-csi2”:9
← “rockchip-mipi-csi2”:10
← “rockchip-mipi-csi2”:11 -
entity 5: stream_cif_mipi_id1 (1 pad, 11 links)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
← “rockchip-mipi-csi2”:1
← “rockchip-mipi-csi2”:2 [ENABLED]
← “rockchip-mipi-csi2”:3
← “rockchip-mipi-csi2”:4
← “rockchip-mipi-csi2”:5
← “rockchip-mipi-csi2”:6
← “rockchip-mipi-csi2”:7
← “rockchip-mipi-csi2”:8
← “rockchip-mipi-csi2”:9
← “rockchip-mipi-csi2”:10
← “rockchip-mipi-csi2”:11 -
entity 9: stream_cif_mipi_id2 (1 pad, 11 links)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
← “rockchip-mipi-csi2”:1
← “rockchip-mipi-csi2”:2
← “rockchip-mipi-csi2”:3 [ENABLED]
← “rockchip-mipi-csi2”:4
← “rockchip-mipi-csi2”:5
← “rockchip-mipi-csi2”:6
← “rockchip-mipi-csi2”:7
← “rockchip-mipi-csi2”:8
← “rockchip-mipi-csi2”:9
← “rockchip-mipi-csi2”:10
← “rockchip-mipi-csi2”:11 -
entity 13: stream_cif_mipi_id3 (1 pad, 11 links)
type Node subtype V4L flags 0
device node name /dev/video3
pad0: Sink
← “rockchip-mipi-csi2”:1
← “rockchip-mipi-csi2”:2
← “rockchip-mipi-csi2”:3
← “rockchip-mipi-csi2”:4 [ENABLED]
← “rockchip-mipi-csi2”:5
← “rockchip-mipi-csi2”:6
← “rockchip-mipi-csi2”:7
← “rockchip-mipi-csi2”:8
← “rockchip-mipi-csi2”:9
← “rockchip-mipi-csi2”:10
← “rockchip-mipi-csi2”:11 -
entity 17: rkcif_scale_ch0 (1 pad, 11 links)
type Node subtype V4L flags 0
device node name /dev/video4
pad0: Sink
← “rockchip-mipi-csi2”:1
← “rockchip-mipi-csi2”:2
← “rockchip-mipi-csi2”:3
← “rockchip-mipi-csi2”:4
← “rockchip-mipi-csi2”:5 [ENABLED]
← “rockchip-mipi-csi2”:6
← “rockchip-mipi-csi2”:7
← “rockchip-mipi-csi2”:8
← “rockchip-mipi-csi2”:9
← “rockchip-mipi-csi2”:10
← “rockchip-mipi-csi2”:11 -
entity 21: rkcif_scale_ch1 (1 pad, 11 links)
type Node subtype V4L flags 0
device node name /dev/video5
pad0: Sink
← “rockchip-mipi-csi2”:1
← “rockchip-mipi-csi2”:2
← “rockchip-mipi-csi2”:3
← “rockchip-mipi-csi2”:4
← “rockchip-mipi-csi2”:5
← “rockchip-mipi-csi2”:6 [ENABLED]
← “rockchip-mipi-csi2”:7
← “rockchip-mipi-csi2”:8
← “rockchip-mipi-csi2”:9
← “rockchip-mipi-csi2”:10
← “rockchip-mipi-csi2”:11 -
entity 25: rkcif_scale_ch2 (1 pad, 11 links)
type Node subtype V4L flags 0
device node name /dev/video6
pad0: Sink
← “rockchip-mipi-csi2”:1
← “rockchip-mipi-csi2”:2
← “rockchip-mipi-csi2”:3
← “rockchip-mipi-csi2”:4
← “rockchip-mipi-csi2”:5
← “rockchip-mipi-csi2”:6
← “rockchip-mipi-csi2”:7 [ENABLED]
← “rockchip-mipi-csi2”:8
← “rockchip-mipi-csi2”:9
← “rockchip-mipi-csi2”:10
← “rockchip-mipi-csi2”:11 -
entity 29: rkcif_scale_ch3 (1 pad, 11 links)
type Node subtype V4L flags 0
device node name /dev/video7
pad0: Sink
← “rockchip-mipi-csi2”:1
← “rockchip-mipi-csi2”:2
← “rockchip-mipi-csi2”:3
← “rockchip-mipi-csi2”:4
← “rockchip-mipi-csi2”:5
← “rockchip-mipi-csi2”:6
← “rockchip-mipi-csi2”:7
← “rockchip-mipi-csi2”:8 [ENABLED]
← “rockchip-mipi-csi2”:9
← “rockchip-mipi-csi2”:10
← “rockchip-mipi-csi2”:11 -
entity 33: rkcif_tools_id0 (1 pad, 11 links)
type Node subtype V4L flags 0
device node name /dev/video8
pad0: Sink
← “rockchip-mipi-csi2”:1
← “rockchip-mipi-csi2”:2
← “rockchip-mipi-csi2”:3
← “rockchip-mipi-csi2”:4
← “rockchip-mipi-csi2”:5
← “rockchip-mipi-csi2”:6
← “rockchip-mipi-csi2”:7
← “rockchip-mipi-csi2”:8
← “rockchip-mipi-csi2”:9 [ENABLED]
← “rockchip-mipi-csi2”:10
← “rockchip-mipi-csi2”:11 -
entity 37: rkcif_tools_id1 (1 pad, 11 links)
type Node subtype V4L flags 0
device node name /dev/video9
pad0: Sink
← “rockchip-mipi-csi2”:1
← “rockchip-mipi-csi2”:2
← “rockchip-mipi-csi2”:3
← “rockchip-mipi-csi2”:4
← “rockchip-mipi-csi2”:5
← “rockchip-mipi-csi2”:6
← “rockchip-mipi-csi2”:7
← “rockchip-mipi-csi2”:8
← “rockchip-mipi-csi2”:9
← “rockchip-mipi-csi2”:10 [ENABLED]
← “rockchip-mipi-csi2”:11 -
entity 41: rkcif_tools_id2 (1 pad, 11 links)
type Node subtype V4L flags 0
device node name /dev/video10
pad0: Sink
← “rockchip-mipi-csi2”:1
← “rockchip-mipi-csi2”:2
← “rockchip-mipi-csi2”:3
← “rockchip-mipi-csi2”:4
← “rockchip-mipi-csi2”:5
← “rockchip-mipi-csi2”:6
← “rockchip-mipi-csi2”:7
← “rockchip-mipi-csi2”:8
← “rockchip-mipi-csi2”:9
← “rockchip-mipi-csi2”:10
← “rockchip-mipi-csi2”:11 [ENABLED] -
entity 45: rockchip-mipi-csi2 (12 pads, 122 links, 0 routes)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
[stream:0 fmt:SRGGB10_1X10/3280x2464 field:none
crop.bounds:(0,0)/3280x2464
crop:(0,0)/3280x2464]
← “rockchip-csi2-dphy1”:1 [ENABLED]
pad1: Source
→ “stream_cif_mipi_id0”:0 [ENABLED]
→ “stream_cif_mipi_id1”:0
→ “stream_cif_mipi_id2”:0
→ “stream_cif_mipi_id3”:0
→ “rkcif_scale_ch0”:0
→ “rkcif_scale_ch1”:0
→ “rkcif_scale_ch2”:0
→ “rkcif_scale_ch3”:0
→ “rkcif_tools_id0”:0
→ “rkcif_tools_id1”:0
→ “rkcif_tools_id2”:0
pad2: Source
→ “stream_cif_mipi_id0”:0
→ “stream_cif_mipi_id1”:0 [ENABLED]
→ “stream_cif_mipi_id2”:0
→ “stream_cif_mipi_id3”:0
→ “rkcif_scale_ch0”:0
→ “rkcif_scale_ch1”:0
→ “rkcif_scale_ch2”:0
→ “rkcif_scale_ch3”:0
→ “rkcif_tools_id0”:0
→ “rkcif_tools_id1”:0
→ “rkcif_tools_id2”:0
pad3: Source
→ “stream_cif_mipi_id0”:0
→ “stream_cif_mipi_id1”:0
→ “stream_cif_mipi_id2”:0 [ENABLED]
→ “stream_cif_mipi_id3”:0
→ “rkcif_scale_ch0”:0
→ “rkcif_scale_ch1”:0
→ “rkcif_scale_ch2”:0
→ “rkcif_scale_ch3”:0
→ “rkcif_tools_id0”:0
→ “rkcif_tools_id1”:0
→ “rkcif_tools_id2”:0
pad4: Source
→ “stream_cif_mipi_id0”:0
→ “stream_cif_mipi_id1”:0
→ “stream_cif_mipi_id2”:0
→ “stream_cif_mipi_id3”:0 [ENABLED]
→ “rkcif_scale_ch0”:0
→ “rkcif_scale_ch1”:0
→ “rkcif_scale_ch2”:0
→ “rkcif_scale_ch3”:0
→ “rkcif_tools_id0”:0
→ “rkcif_tools_id1”:0
→ “rkcif_tools_id2”:0
pad5: Source
→ “stream_cif_mipi_id0”:0
→ “stream_cif_mipi_id1”:0
→ “stream_cif_mipi_id2”:0
→ “stream_cif_mipi_id3”:0
→ “rkcif_scale_ch0”:0 [ENABLED]
→ “rkcif_scale_ch1”:0
→ “rkcif_scale_ch2”:0
→ “rkcif_scale_ch3”:0
→ “rkcif_tools_id0”:0
→ “rkcif_tools_id1”:0
→ “rkcif_tools_id2”:0
pad6: Source
→ “stream_cif_mipi_id0”:0
→ “stream_cif_mipi_id1”:0
→ “stream_cif_mipi_id2”:0
→ “stream_cif_mipi_id3”:0
→ “rkcif_scale_ch0”:0
→ “rkcif_scale_ch1”:0 [ENABLED]
→ “rkcif_scale_ch2”:0
→ “rkcif_scale_ch3”:0
→ “rkcif_tools_id0”:0
→ “rkcif_tools_id1”:0
→ “rkcif_tools_id2”:0
pad7: Source
→ “stream_cif_mipi_id0”:0
→ “stream_cif_mipi_id1”:0
→ “stream_cif_mipi_id2”:0
→ “stream_cif_mipi_id3”:0
→ “rkcif_scale_ch0”:0
→ “rkcif_scale_ch1”:0
→ “rkcif_scale_ch2”:0 [ENABLED]
→ “rkcif_scale_ch3”:0
→ “rkcif_tools_id0”:0
→ “rkcif_tools_id1”:0
→ “rkcif_tools_id2”:0
pad8: Source
→ “stream_cif_mipi_id0”:0
→ “stream_cif_mipi_id1”:0
→ “stream_cif_mipi_id2”:0
→ “stream_cif_mipi_id3”:0
→ “rkcif_scale_ch0”:0
→ “rkcif_scale_ch1”:0
→ “rkcif_scale_ch2”:0
→ “rkcif_scale_ch3”:0 [ENABLED]
→ “rkcif_tools_id0”:0
→ “rkcif_tools_id1”:0
→ “rkcif_tools_id2”:0
pad9: Source
→ “stream_cif_mipi_id0”:0
→ “stream_cif_mipi_id1”:0
→ “stream_cif_mipi_id2”:0
→ “stream_cif_mipi_id3”:0
→ “rkcif_scale_ch0”:0
→ “rkcif_scale_ch1”:0
→ “rkcif_scale_ch2”:0
→ “rkcif_scale_ch3”:0
→ “rkcif_tools_id0”:0 [ENABLED]
→ “rkcif_tools_id1”:0
→ “rkcif_tools_id2”:0
pad10: Source
→ “stream_cif_mipi_id0”:0
→ “stream_cif_mipi_id1”:0
→ “stream_cif_mipi_id2”:0
→ “stream_cif_mipi_id3”:0
→ “rkcif_scale_ch0”:0
→ “rkcif_scale_ch1”:0
→ “rkcif_scale_ch2”:0
→ “rkcif_scale_ch3”:0
→ “rkcif_tools_id0”:0
→ “rkcif_tools_id1”:0 [ENABLED]
→ “rkcif_tools_id2”:0
pad11: Source
→ “stream_cif_mipi_id0”:0
→ “stream_cif_mipi_id1”:0
→ “stream_cif_mipi_id2”:0
→ “stream_cif_mipi_id3”:0
→ “rkcif_scale_ch0”:0
→ “rkcif_scale_ch1”:0
→ “rkcif_scale_ch2”:0
→ “rkcif_scale_ch3”:0
→ “rkcif_tools_id0”:0
→ “rkcif_tools_id1”:0
→ “rkcif_tools_id2”:0 [ENABLED] -
entity 58: rockchip-csi2-dphy1 (2 pads, 2 links, 0 routes)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
[stream:0 fmt:SRGGB10_1X10/3280x2464@10000/210000 field:none]
← “m02_f_imx219 1-0010”:0 [ENABLED]
pad1: Source
→ “rockchip-mipi-csi2”:0 [ENABLED] -
entity 63: m02_f_imx219 1-0010 (1 pad, 1 link, 0 routes)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[stream:0 fmt:SRGGB10_1X10/3280x2464@10000/210000 field:none]
→ “rockchip-csi2-dphy1”:0 [ENABLED]
Media controller API version 6.1.75
Media device information
driver rkisp0-vir2
model rkisp0
serial
bus info platform:rkisp0-vir2
hw revision 0x0
driver version 6.1.75
Device topology
-
entity 1: rkisp-isp-subdev (4 pads, 10 links, 0 routes)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev3
pad0: Sink
[stream:0 fmt:SRGGB10_1X10/3280x2464 field:none
crop.bounds:(0,0)/3280x2464
crop:(0,0)/3280x2464]
← “rkisp_rawrd0_m”:0
← “rkisp_rawrd2_s”:0
← “rkisp_rawrd1_l”:0
← “rkcif-mipi-lvds2”:0 [ENABLED]
pad1: Sink
← “rkisp-input-params”:0 [ENABLED]
pad2: Source
[stream:0 fmt:YUYV8_2X8/3280x2464 field:none colorspace:smpte170m quantization:full-range
crop.bounds:(0,0)/3280x2464
crop:(0,0)/3280x2464]
→ “rkisp_mainpath”:0 [ENABLED]
→ “rkisp_selfpath”:0 [ENABLED]
→ “rkisp_fbcpath”:0 [ENABLED]
→ “rkisp_iqtool”:0 [ENABLED]
pad3: Source
→ “rkisp-statistics”:0 [ENABLED] -
entity 6: rkisp_mainpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video11
pad0: Sink
← “rkisp-isp-subdev”:2 [ENABLED] -
entity 12: rkisp_selfpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video12
pad0: Sink
← “rkisp-isp-subdev”:2 [ENABLED] -
entity 18: rkisp_fbcpath (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video13
pad0: Sink
← “rkisp-isp-subdev”:2 [ENABLED] -
entity 24: rkisp_iqtool (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video14
pad0: Sink
← “rkisp-isp-subdev”:2 [ENABLED] -
entity 30: rkisp_rawrd0_m (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video15
pad0: Source
→ “rkisp-isp-subdev”:0 -
entity 36: rkisp_rawrd2_s (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video16
pad0: Source
→ “rkisp-isp-subdev”:0 -
entity 42: rkisp_rawrd1_l (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video17
pad0: Source
→ “rkisp-isp-subdev”:0 -
entity 48: rkisp-statistics (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video18
pad0: Sink
← “rkisp-isp-subdev”:3 [ENABLED] -
entity 54: rkisp-input-params (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video19
pad0: Source
→ “rkisp-isp-subdev”:1 [ENABLED] -
entity 60: rkcif-mipi-lvds2 (1 pad, 1 link, 0 routes)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev4
pad0: Source
[stream:0 fmt:SRGGB10_1X10/3280x2464@10000/210000 field:none]
→ “rkisp-isp-subdev”:0 [ENABLED]
vicharak@vicharak:~$
from which device you are trying to take video from, is it /dev/video11? if not try with that once.
i am taking with /dev/video11
Have you tried using ffmpeg or qv4l2, you can check out this portion of the doc, MIPI Camera Interface | Vicharak
Still same result and i have followed each and every thing from ur documentation. I also tried openCV utility methods but from all methods i got same greenish result.
vicharak@vicharak:~$ ffplay -f v4l2 -pixel_format nv12 -video_size 1920x1080 /dev/video11
ffplay version 02d1bacb5f Copyright (c) 2003-2023 the FFmpeg developers
built with gcc 13 (Ubuntu 13.3.0-6ubuntu2~24.04)
configuration: --prefix=/usr --extra-ldflags=‘-Wl,-rpath=/usr/lib/vicharak/’ --enable-gpl --enable-version3 --enable-libdrm --enable-rkmpp --enable-rkrga --enable-libx264 --enable-libx265 --enable-libvpx --enable-libfdk-aac --enable-nonfree --enable-libopus --enable-libaom --enable-libsvtav1 --enable-libdav1d --enable-libvmaf --enable-libass --enable-libfreetype --enable-libmp3lame --enable-libvorbis --enable-gnutls --enable-libpulse --enable-sdl2 --enable-opengl --enable-opencl --enable-openal --enable-omx --enable-lv2 --enable-libzvbi --enable-libzimg --enable-libxvid --enable-libxml2 --enable-libwebp --enable-libvidstab --enable-libtwolame --enable-libtheora --enable-libssh --enable-libsrt --enable-libspeex --enable-libsoxr --enable-libsnappy --enable-libshine --enable-librubberband --enable-librabbitmq --enable-libopenmpt --enable-libmysofa --enable-libjack --enable-libgsm --enable-libgme --enable-libfribidi --enable-libfontconfig --enable-libcodec2 --enable-libcdio --enable-libcaca --enable-libbs2b --enable-libbluray --enable-ladspa --enable-libopenjpeg --enable-libflite --enable-libzmq
libavutil 58. 29.100 / 58. 29.100
libavcodec 60. 31.102 / 60. 31.102
libavformat 60. 16.100 / 60. 16.100
libavdevice 60. 3.100 / 60. 3.100
libavfilter 9. 12.100 / 9. 12.100
libswscale 7. 5.100 / 7. 5.100
libswresample 4. 12.100 / 4. 12.100
libpostproc 57. 3.100 / 57. 3.100
[video4linux2,v4l2 @ 0x7f84000c20] ioctl(VIDIOC_G_INPUT): Inappropriate ioctl for device
[video4linux2,v4l2 @ 0x7f84000c20] ioctl(VIDIOC_G_PARM): Inappropriate ioctl for device
[video4linux2,v4l2 @ 0x7f84000c20] Time per frame unknown
[video4linux2,v4l2 @ 0x7f84000c20] Stream #0: not enough frames to estimate rate; consider increasing probesize
Input #0, video4linux2,v4l2, from ‘/dev/video11’:
Duration: N/A, start: 1567.722397, bitrate: N/A
Stream #0:0: Video: rawvideo (NV12 / 0x3231564E), nv12, 1920x1080, 1000k tbr, 1000k tbn
^Cvicharak@vicharak:~$ 3 aq= 0KB vq= 0KB sq= 0B f=0/0
try 3280x2464 resolution with ffplay once
ffplay -f v4l2 -pixel_format nv12 -video_size 3280x2464 /dev/video11
i used this but still i got same result.
Please place a few objects(different colors preferably) in front of the camera, capture the image and share it here for us to better understand.
