这里以Jetson NX为例子,在安装了jtop之后,我们打开jtop,在按6,可以看到jetpack的一些信息。
在这里插入图片描述
上面显示系统是Jetpack 4.4版本的。OpenCV是刷机的时候预装的4.1.1版本【当然也可以自己卸载之后手动安装其他版本】。这里为了方便,我选择直接使用系统自带的OpenCV。

pkg-config --modversion opencv

命令显示找不到opencv,但是我们可以找到opencv4

pkg-config --modversion opencv4

在这里插入图片描述
以一段opencv代码为例子

#include <stdio.h>
#include <opencv2/opencv.hpp>

using namespace cv;
int main(int argc, char **argv)
{

	for(int i=1; i< argc; i++)
	{
		printf("argument %d is %s \n",i,argv[i]);
		//打印命令的参数
	}
	Mat img = imread("girl3.jpg");
	printf("img height %d, img width %d \n",img.rows, img.cols);
	Mat dst;
	resize(img, dst, Size(img.size().width / 2, img.size[0] / 2));
        imwrite("resize.jpg", dst);

	return 0;
}
备注:img.rows; img.size[0]; img.size().height 都是图像高度的表达方法

编译有两种方法

第一种,用命令行编译

g++会自动链接libstdc.so.6++

g++ -o Main demo.cc `pkg-config opencv4 --libs --cflags`

注意gcc命令在链接时默认使用C的库,只有添加了-lstdc++选项才会使用 C++ 的库。

gcc -o Main demo.cc `pkg-config opencv4 --libs --cflags` -lstdc++

结果如下
在这里插入图片描述
第二种,用CMakeLists.txt

cmake_minimum_required(VERSION 3.10)

find_package(OpenCV)
include_directories(OpenCV_INCLUDE_DIRS)
message(${OpenCV_INCLUDE_DIRS})
message(${OpenCV_LIBRARIES})

add_definitions("-Wall -std=c++11")
add_executable(Main_1 demo.cc)

target_link_libraries(Main_1 ${OpenCV_LIBRARIES})

编译的命令如下

mkdir build
cd build
cmake ..
make

将图片girl3.jpg复制到build文件夹下面,再运行./Main_1 xx aa就可以了。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐