开发语言|C++
文章平均质量分 80
C++工作学习记录
澄鑫
不断重复,百炼成钢!
展开
-
【C#/C++】C++定义一个返回uchar*的函数,调用函数时接收的数据异常
这个错误代码中,我们虽然能够在main函数中获得函数返回的一个非空的uchar* 指针变量,但是这个指针其实是一个无效的指针,因为这个指针指向的图像是在畸变矫正函数内部定义的一个局部变量,因此在返回这个指针之后,会自动销毁这个图像的数据,所以我们在函数外部获取的指针是无效的。我是想实现一个图像畸变矫正的函数,由于相机的硬件原因(相机内外参数,视野)会导致我们取到的图有一定程度的畸变,在实际的应用中,我们需要先对相机进行标定,获得相机的参数,比如相机的内参矩阵,畸变系数,旋转向量,位移向量等。原创 2024-06-06 16:22:39 · 392 阅读 · 0 评论 -
【C++|TensorRT】使用ostream和istream类来读写TensorRT模型并推理(v9_trtx)
写入时,我们先创建一个std::ofstream的写入流p,初始化构造函数的第一个参数为const char *,填写保存路径,第二个参数为打开写入的方式,在写入序列化模型时,一般都是std::ios::binary的形式;方法来获取指向序列化模型数据的指针,但是这里我们需要将这个指针的数据类型转为const char *型,因此我们需要用到。在调用write写入时,第一个参数是const char*的数据指针,第二个参数是写入流的字节数。方法,该方法提供数字到指针间的转换以及不同类型指针间的强制转换。原创 2024-03-19 10:34:09 · 592 阅读 · 2 评论 -
【TensorRT】官方文档onnx序列化教程与推理教程
需要注意的是,TensorRT网络定义的一个重要方面是它包含指向模型权重的指针,这些指针由构建器复制到优化的引擎中。由于网络是使用解析器创建的,所以解析器拥有权重占用的内存,因此在构建器运行之前,不可以删除解析器对象。并且由于需要展示各对象的存在周期,实例代码中没有使用智能指针,但是建议在实际使用中加上智能指针来配合TensorRT接口。本博客主要说明的是TensorRT C++ API,从我们获取到onnx模型开始的流程。现在,我们可以通过ONNX模型来填充网络定义,ONNX解析器API位于文件。原创 2024-01-28 22:47:17 · 628 阅读 · 0 评论 -
【C++】对外接口封装以及导出动态链接库DLL
可以看到,没有加上extern “C” 的话,接口名称就会变得很长,但是好处是,可以看到接口接受的参数数据类型。这里的输出目录可以自定义我们导出时的dll的路径,当然在不设置的情况下,默认在项目路径中的x64/Release或者x64/Debug中。然后,我们可以通过vs的开发者shell中输入命令行来查看我们的dll接口,方便我们在调用dll时查看接口:点击。这就可以查看到我们导出的dll的接口名称了。这里需要注意的一个点就是我们在头文件中,申明对外的接口时,需要加上。原创 2024-01-27 23:39:04 · 639 阅读 · 0 评论