This is an old revision of the document!
This document mainly introduces the usage of IMX415 MIPI Camera.
The reverse connection will damage the camera, please check the connection of the picture carefully before connecting.
Please follow the documentation to upgrade your system to latest version.
You can find the video node from the table below.
CAM1 | |
---|---|
CAM2 | |
CAM3 | |
gst-launch-1.0 v4l2src device=/dev/video50 io-mode=mmap num-buffers=300 ! video/x-raw,format=NV12 ! amlvenc bitrate=8000 ! h264parse ! qtmux ! filesink location=test_50.mp4
sudo apt update sudo apt install libopencv-dev python3-opencv
#include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp> #include <opencv2/core/core.hpp> #include <iostream> #include <string> using namespace cv; using namespace std; int main(int argc, char** argv) { int count=100; string str = argv[1]; string res=str.substr(10); VideoCapture capture(stoi(res), CAP_V4L2); capture.set(CAP_PROP_FOURCC, VideoWriter::fourcc('U','Y','V','Y')); capture.set(CAP_PROP_FRAME_WIDTH, 1920); capture.set(CAP_PROP_FRAME_HEIGHT, 1080); while (count) { Mat frame; capture >> frame; if (frame.empty()) { break; } int h = frame.rows; int w = frame.cols; const char *name = "video"; namedWindow(name, 0); imshow(name, frame); waitKey(30); count--; } return 0; }
Compile:
gcc -o mipi mipi-camera.cpp -lopencv_imgproc -lopencv_core -lopencv_videoio -lopencv_imgcodecs -lopencv_highgui -std=c++11 -std=gnu++11 -Wall -std=c++11 -lstdc++ -I/usr/include/opencv4
Test:
./mipi /dev/video50
Preview the file:
$ ffplay -f rawvideo -pixel_format nv21 -video_size 3840x2160 /tmp/dst_mif_0.yuv