rk3588自带了cv,不需要重新安装,执行以下操作即可:
一、读取图片
1.读取某张图片
#define HAVE_OPENCV_VIDEO
#define HAVE_OPENCV_VIDEOIO
#include <opencv2/opencv.hpp>
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace cv;
int main() {
Mat input;
input = imread("1.jpg");
//显示原图
imshow("input", input);
waitKey(0);
return 0;
}
代码中图片的路径修改为自己的图片路径。
2.终端运行:
sudo g++ opencv_cam.cpp -o opencv_cam -I /usr/include/aarch64-linux-gnu/ -I /usr/include/opencv4/ -lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_imgcodecs -lopencv_videoio -pthread -lz -ldl
以上代码中的opencv_cam.cpp是自己的cpp文件,根据自己的文件名称修改即可。
3.终端再运行
./opencv_cam
二、读取摄像头
1.创建opencv_cam.cpp文件,读取摄像头代码
#define HAVE_OPENCV_VIDEO
#define HAVE_OPENCV_VIDEOIO
#include <opencv2/opencv.hpp>
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
String window_name = "Capture - face detection";
int main() {
VideoCapture capture;
Mat frame;
// 文件路径
capture.open("/dev/video61", cv::CAP_V4L2);//"/dev/video61"
//capture.open(0); // 打开摄像头, 默认摄像头captureIndex=0
if (!capture.isOpened())
{
cout << "Couldn't open capture." << endl;
return -1;
}
while (true)
{
capture >> frame;
imshow("capture", frame);
waitKey(1);
}
return 0;
}
2.终端运行
sudo g++ opencv_cam.cpp -o opencv_cam -I /usr/include/aarch64-linux-gnu/ -I /usr/include/opencv4/ -lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_imgcodecs -lopencv_videoio -pthread -lz -ldl
3.终端再运行
./opencv_cam
在这里,cv打开相机就完成了。