Nvidia Jetson自带C++版本的OpenCV使用

这里以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就可以了。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值