- 博客(67)
- 资源 (1)
- 收藏
- 关注
原创 CTRL-C论文解析
论文主要探讨了基于单张图像的相机校准的问题,通过分析图像中由于透视投影导致的失真来推断相机的内外参数。传统方法通常通过检测图像中的线段来找到消失点和地平线,而CTRL-C采用Transformer架构,通过端到端的神经网络直接从图像和线段中估计相机参数。长距离依赖关系的捕捉:传统方法和早期深度学习方法对图像中远距离像素之间的关系处理不够。CTRL-C通过Transformer的自注意力机制,能够有效捕捉图像特征和几何特征之间的长距离依赖关系,从而更准确地估计相机参数。复杂场景中的泛化能力。
2024-08-20 16:46:50
1104
原创 error: expected constructor, destructor, or type conversion before ‘(‘ token
将VS+QT(MSVC)环境下编写的代码转到纯QT环境下,并更改编译环境为MinGW后,所用的大华相机SDK头文件“IMVApi.h”报错:error: expected constructor, destructor, or type conversion before '(' token。,并确保所有相关宏在非Windows环境下被忽略。上述错误是由于MSVC环境下的。在MinGW下应该使用正确的拼写。
2024-05-18 13:40:49
1008
2
原创 error: ‘_Frees_ptr_opt_‘ has not been declared
在编译器命令行或者代码中定义这些宏,使其在非MSVC环境中被忽略。在代码的开头(如#endif#endif#endif#endif这样编译器在遇到这些宏时就会忽略它们,从而避免编译错误。
2024-05-18 13:20:33
959
2
原创 FANUC机器人怎么让TP程序自动执行
3、按住安全开关(Deadman)+shift解除报警。4、按下CYCLE START程序即开始自动运行。注意:使用自动模式前请确认程序可安全运行。1、将机器人扭到Auto模式。2、示教器扭到OFF模式。
2024-04-07 17:01:16
1813
原创 电脑与FANUC机器人通过Modbus TCP协议实现网口通讯
通过Modbus TCP协议将电脑处理好的数据发送到机器人(附libmodbus库)
2024-04-07 16:52:40
1817
原创 额外的迭代器
虽然iostream类型不是容器,但标准库定义了可以用于这些IO类型对象的迭代器。这些迭代器将它们对应的流当作一个特定类型的元素序列来处理。此函数接受第二个参数,这个参数必须是一个指向给定容器的迭代器。插入器是一种迭代器适配器,它接受一个容器,生成一个迭代器,能实现向给定容器添加元素。* front_inserter创建一个使用push_front的迭代器。反向迭代器就是在容器中从尾元素向首元素反向移动的迭代器。* back_inserter创建一个使用push_back的迭代器。
2023-09-21 14:44:43
156
原创 lambda
其中,capture list(捕获列表)是一个lamda所在函数中定义的局部变量的列表(通常为空);但与普通函数不同的是,lambda必须使用尾置返回来指定返回类型。与普通函数类似,一个lambda具有一个返回类型、一个参数列表和一个函数体。与普通函数不同的是,lambda可以定义在其他函数内部。注:一个lambda只有在其捕获列表中捕获一个它所在函数中的局部变量,才能在函数体中使用该变量。注:如果lambda的函数体包含任何单一return语句之外的内容,且未指定返回类型,则返回void。
2023-09-19 18:15:23
77
原创 容器适配器
除了顺序容器外,标准库还定义了三个顺序容器适配器:stack、queue和priority_queue适配器。适配器是标准库中的一个通用概念。容器、迭代器和函数都有适配器。适配器本质上是一种机制,能使某种事物的行为看起来像另外一种事物一样。queue和priority_queue适配器定义在queue头文件中。stack类型定义在stack头文件中。所有容器适配器都支持的操作和类型。
2023-09-19 14:25:37
78
原创 调试帮助(assert和NDEBUG)
assert的行为依赖于一个名为NDEBUG的预处理变量的状态。如果定义了NDEBUG,则assert什么也不做。默认状态下没有定义NDEBUG,此时assert将执行运行时检查。我们可以使用一个#define语句定义NDEBUG,从而关闭调试状态。除了用于assert外,也可以使用NDEBUG编写自己的条件调试代码。如果NDEBUG未定义,将执行#ifndef和#endif之间的代码;首先对expr求值,如果表达式为假,assert输出信息并终止程序的执行。如果表达式为真,assert什么也不做。
2023-09-13 19:31:59
221
原创 内联函数和constexpr函数
编程时有时需要经常重复使用一些相同的表达式,为了使程序简洁,我们可以自定义一些内含简单算法的函数,自定义函数有方便阅读理解、确保行为同一、修改计算过程方便(不用一处处修改表达式)和可重复利用等优点。与其他函数不同,内联函数和constexpr函数可以在程序中多次定义。毕竟,编译器想要展开函数仅有函数声明是不够的,还需要函数的定义。不过,对于某个给定的内联函数或者constexpr函数来说,它的多个定义必须完全一致。基于这个原因,内联函数和constexpr函数通常定义在头文件中。
2023-09-13 18:54:13
138
原创 递归函数(recursive function)
如果一个函数调用了它自身,无论这种调用是直接的还是间接的,都应该将这种函数称为。注:main函数不能调用它自己。
2023-09-13 14:55:48
151
原创 含有可变形参的函数
和vector不一样的是,initializer_list对象中的元素永远是常量值,我们无法改变initializer_list对象中元素的值。initializer_list是一种标准库类型,用于表示某种特定类型的值的数组。如果函数的实参数量未知但是全部实参的类型都相同,我们可以使用。
2023-09-13 13:46:33
54
原创 main:处理命令行选项
然而,有时我们需要给main传递实参,一种常见的情况是用户通过设置一组选项来确定函数所要执行的操作。第二个形参argv是一个数组,它的元素是指向C风格字符串的指针;第一个形参argc表示数组中字符串的数量。当实参传给main函数之后,argv的第一个元素指向程序的名字或者一个空字符串,接下来的元素依次传递命令行提供的实参。最后一个指针之后的元素值保证为0。注:当使用argv中的实参时,一定要记得可选的实参从argv[1]开始;argv[0]保存程序的名字,而非用户输入。其中argv指向char*。
2023-09-12 14:54:37
71
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人