首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

可读代码编写炸鸡二(下篇) - 命名的歧义

大家好,我是多选参数的一员 —— 大炮。 在上一篇炸鸡 可读代码编写炸鸡二(上篇) - 命名的长度 中,我们知道了: 由于代码命名添加信息后,存在 命名长度 和 命名歧义 这两个方面问题。...命名的歧义 命名的歧义是如何产生的? 由于命名需要词汇组织,那么 词汇的多义性 可能会导致命名产生歧义。 同时程序员中 约定俗成 的规则也可能使得命名出现歧义。...但是如果一个方法中存在大量的数据计算或者内存分配,只有一个 get ,就可能忽略了方法中大量的重的逻辑。...list->size() 在链表实现代码中,常常有求链表长度的操作,不少人将其命名为 size。...这三篇炸鸡涉及的代码范围是在 一个变量,一个函数名 这样很狭小的范围内。 所以接下来,我们可以将这个范围稍微扩大,开始立足于 多行代码,多个函数 这样的代码范围内进行可读性的优化。

44820

教育场景中的自动化分拣系统!基于大象机器人UltraArm P340机械臂和传送带的实现

场景描述在这个高度自动化的分拣场景中,主要设备包括两个机械臂和一条800mm的传送带。右侧的上料机器人负责识别和抓取标记物,并将它们放置到传送带上。传送带将标记物运输到左侧的下料机器人工作范围内。...下料机器人则根据分类要求识别标记物,并将它们有序地放置在指定区域。放个视频gif接下来我们简要介绍产品的相关参数产品列表中是几个主要的产品。...我们具体看看各个功能模块的功能是如何在代码当中实现的。...Visual recognition module本次项目用的标记物是Aruco码,是一种广泛使用的二进制方形标记,主要用于增强现实和机器人导航等场景中,Aruco码的设计使得它们在图像中易于检测和识别...1易于检测和识别:Aruco码的设计使得它们在图像中易于检测和识别2 唯一性和抗误识别:每个Aruco码都有一个唯一的ID,具有一定的纠错能力3姿态估计:Aruco码不仅可以用于识别和定位,还可以用于估计相机相对于标记的姿态

23610
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    IntelliJ IDEA 中JAVA代码的任务标记(TODO、FIXME、【自定义】)

    【任务标记是以注释的方式定义】 一、作用: 1、可以大大的提高开发效率。代码量非常大的项目,在某一行中需要在后续阶段实现一个功能,如果不标注下次再找的时候就非常困难了。...2、在团队合作中,还可以告诉别人某处敏感代码的状态。...二、以下为常见的两种注释标记: 1、// TODO: 表示在此处将要实现的功能,提醒你在后续阶段将会在此处添加代码 2、// FIXME: 表示此处的代码逻辑有出入,或者根本不能运行,提醒你在后续阶段将会修改此处代码...3、// 在Eclipse中可以自定义标记 例如: // XXX:表示此处的代码虽然实现了功能,但是性能太低,提醒你需要在后续阶段优化; // DONE:已经完成 添加自定义标记的步骤:...三、如何快速找到项目中的标记处: 点击即可快速跳转到标记处代码

    5.6K11

    JSDoc 初探:代码内的文档标记

    JSDoc 3 是一个用于 JavaScript 的API文档生成器,类似于 Javadoc 或 phpDocumentor。可以将文档注释直接添加到源代码中。...JSDoc是一种用于为JavaScript代码生成文档的工具。它基于标签(tag)的形式,通过注释来提取代码中的类型、描述、参数、返回值等信息,生成文档供其他人参考。...在JSDoc中,可以使用各种标签来描述代码的不同方面,例如:@param:用于描述函数或方法的参数类型和含义;@returns:用于描述函数或方法的返回值类型和含义;@throws:用于描述函数或方法可能抛出的异常类型和含义...如果不传入 type 参数,则函数中可以通过 if (!type) 进行判断,避免出现未定义的错误。使用=标记具有默认值的参数or可选参数在JSDoc中,可以使用 = 符号来标记具有默认值的参数。...需要注意的是,在JSDoc中标记参数具有默认值并不会改变函数或方法的实际调用方式,你可以只在注释中写好标记的默认参数,而不写在代码中,反之亦然(君子协定)。

    28710

    增强现实入门实战,使用ArUco标记实现增强现实

    ArUco标记的尺寸可以任意的更改,为了成功检测可根据对象大小和场景选择合适的尺寸。在实际使用中,如果标记的尺寸太小,可能无法检测到它,这时可以选择更换较大尺寸的标记,或者将相机离标记更近一些。...二、在OpenCV中生成ArUco标记 使用OpenCV可轻松生成这些标记。OpenCV中的Aruco模块总共有25个预定义的标记词典。...; 代码中drawMarker函数可以从由250个aruco标记组成的集合中选择给定id(第二个参数– 33)的标记,这250个标记的id由0~249表示。...上述代码生成的aruco标记如下图所示。 ? 在实际应用时,我们可能需要生成多个标记。之后我们只需要将这些标记打印出来就可以直接使用了。...三、检测Aruco标记 将aruco标记放置在环境中后,我们需要检测它们并将其用于进一步处理。接下来我们介绍如何通过代码检测标记。

    2.7K40

    代码注释中的常见标记

    FIXME 在代码注释中,FIXME 是一个常见的标记,用来指出代码中的一个问题需要被修复或需进一步的工作。...代码可能是临时的解决方案,需要被更完善或更合适的实现所替代。 开发者想要在稍后回顾这部分代码,进行重构或改进。 FIXME 标记通常会伴随一段描述,解释需要修复或关注的具体问题。...FIXME 类似于其他代码注释标记,如 TODO (表示还有工作要做)或 NOTE(用来强调或解释代码的某个方面),但 FIXME 更具有紧迫性,通常表示代码中存在更严重的问题或错误。...HACK HACK 指出代码中的一个临时解决方案或者不太优雅的编码,通常需要在将来进行优化。...开发团队可能会有自己的注释标记约定,实际使用的标记取决于团队的偏好和工作流程。使用这些标记可以帮助团队成员快速定位代码中需要特别注意的部分。

    12610

    ArUco与AprilTag简介

    一个ArUco标记外围都有一组黑色边框,同时内部有着确定该标记ID的二维矩阵组合而成。黑色的边框能加速标记在图像中的检测速度,内部的二维编码能唯一识别该标记,同时进行错误检测和错误修复。...标记的大小确定了内部矩阵的大小,例如4x4大小的标记有16个bit aruco标志在环境中通常存在旋转,然而,检测的过程需要确定旋转的初始方向,因此,每一个角点在二维编码的过程中就会被唯一确定。...Aruco标记物生成 在检测之前,往往我们需要打印一些marker放到我们的环境中。...两者优劣比较 Aruco(在OpenCV中实现) 优点 易于设置(使用现成的aruco标记生成器、opencv和ros实现等) 更少的错误检测(使用默认参数) 缺点 较新版本的aruco是GPL许可的,...) 计算量较少 缺点 不太直接地进行配置和设置(没有opencv实现AFAIK,只有ros实现,获得标记的步骤稍微多一些) 更多错误检测(使用默认参数) 接下来本公众号将从opencv的中aruco模块中给的教程从理论到实践进行讲解

    3.5K41

    ArUco与OpenCV

    目录 生成标记 检测标记 完整代码 一些链接 代码片段记录 创建Aruco的Board板 检测Board板         ArUco标记可以用于增强现实、相机姿势估计和相机校准等应用场景,具体如无人机的自主降落地标...标记中白色部分为唯一标识的二进制编码。 生成标记         通过为每个码生成唯一标记,可以获取到更丰富的信息。在OpenCV中有25个预定义的标记字典。...在上面的示例中,它将生成一个具有 200×200 像素的图像。 第四个参数表示将存储生成的标记的对象(上面的标记图像)。 第五个参数是厚度参数,它决定了应该将多少块作为边界添加到生成的二进制模式中。...在C++中,这4个检测到的角点被存储为点的向量,并且图像中的多个标记一起存储在点的向量向量中。在Python中,它们被存储为数组的Numpy数组。         ...在打印、剪切和放置场景中的标记时,重要的是在标记的黑色边界周围保留一些白色边框,以便可以轻松检测到它们。

    1.2K10

    opencv中ArUco模块实践(1)

    aruco标记板的检测与识别 在上一节中我们介绍了aruco单个的标记 板的检测和识别这里我们将介绍aruco标记板的检测和识别的过程。...标定板和一组独立标记之间的区别在于,标定板中的标记物中的相对位置是先验的。...这使得所有标记的角点可以用于估计相机相对于整个板子的姿势,使用一组独立的标记时,可以单独估计每个标记的姿势,因为您不知道标记物在环境中的相对位置。...然而,在许多情况下,栅格标记板将只是同一平面和网格布局中的一组标记,因此可以轻松打印和使用,幸运的是,aruco模块提供了创建和打印这些类型标记的基本功能。...然而,这些候选标记有时是由于图像中的高噪声、非常低的分辨率或其他影响二进制代码提取的相关问题而未被正确识别的实际标记。函数的作用是: 查找这些候选标记与标记板上丢失的标记之间的对应关系。

    1.6K20

    七轴开源协作机械臂myArm视觉跟踪技术!

    引言 ArUco标记是一种基于二维码的标记,可以被用于高效的场景识别和位置跟踪。这些标记的简单性和高效性使其成为机器视觉领域的理想选择,特别是在需要实时和高精度跟踪的场景中。...ArUco 标记的特点: 唯一性:每个 ArUco 标记具有独特的编码,允许识别系统轻松区分不同的标记 低成本:与其他高级定位系统相比,ArUco 标记不需要昂贵的设备或复杂的安装,可以直接打印ArUco...定位和导航:在机器视觉系统中,ArUco 标记被用作参考点,帮助机械臂或移动机器人定位自身位置或导航至特定位置。...: ArUco 检测: ArUco 标记的检测是整个系统运行的基础。...通过摄像头识别这些标记,系统能够获取关于标记位置和方向的关键信息。这些信息对于机械臂的精确控制和操作至关重要,尤其是在需要精确位置调节的应用中,如在自动化、机器人编程和增强现实中。

    40011

    ArUco的生成与检测

    在opencv中aruco有以下几个模块: (1)Detection of ArUco Markers:检测单个ArUco标记板:基于单个ArUco标记板的基本检测和姿态估计。...和ChArUco标定板进行相机标定 (6)ArUco module FAQ : 关于ArUco 模块的常见且有用问题的汇总 单个标记板的生成 在检测标记板之前,需要打印标记板放置在环境中。...,该参数应该是比特数+边界大小成比例,甚至事少远高于标记大小,比如实例中的200以便变形不显著....生成的图像实例 代码示例: /* 生成单个的aruco标记物 */ #include #include aruco.hpp> using namespace...每个检测到的标记包括: 1,它的四个角在图像中的位置(按其原始顺序)。 2,标记的id。 标记检测过程由两个主要步骤组成: 1,候选标记的检测。

    3.2K20

    【实战】使用ArUco标记实现增强现实

    二、在OpenCV中生成ArUco标记 使用OpenCV可轻松生成这些标记。OpenCV中的Aruco模块总共有25个预定义的标记词典。...每个词典中所有的Aruco标记均包含相同数量的块或位(例如4×4、5×5、6×6或7×7),且每个词典中Aruco标记的数量固定(例如50、100、250或1000)。...; 代码中drawMarker函数可以从由250个aruco标记组成的集合中选择给定id(第二个参数– 33)的标记,这250个标记的id由0~249表示。...上述代码生成的aruco标记如下图所示。 ? 在实际应用时,我们可能需要生成多个标记。之后我们只需要将这些标记打印出来就可以直接使用了。...三、检测Aruco标记 将aruco标记放置在环境中后,我们需要检测它们并将其用于进一步处理。接下来我们介绍如何通过代码检测标记。

    2K10

    PHP中针对区域语言标记信息的操作

    PHP中针对区域语言标记信息的操作 相信大家对 zh_CN 这个东西绝对不会陌生,不管是 PHP 中,还是在我们的网页上,都会见到它的身影。...其实这就是指定我们的显示编码是什么国家或者地区的,使用何种语言。对于这种区域语言的标记来说,PHP 中也有很多好玩的内容。...获取所有变体信息 从上面的代码中可以看出,我们有两个变体信息,这个也可以通过一个 getAllVariants() 方法来直接获得语言标记中的所有变体信息的数组。...当然,这个测试代码是乱写的,相当于是一个 en_CN 的标记,正常不会这么写的。...测试代码: https://github.com/zhangyue0503/dev-blog/blob/master/php/202011/source/5.PHP中针对区域语言标记信息的操作.php

    1.3K40

    使用C++ OpenCV实现椭圆区域检测与Aruco码的生成与检测并估计位姿

    前景概要很多机器视觉的定位与识别场景,如无人车、无人机,都会用Aruco码或特定的标志物来实现,Aruco码的优点在于,xxxx(自行搜索)。 ...实现内容0、打开摄像头或某张图片1、先检测圆环(因视角变换可能是椭圆环);2、裁剪保留圆环区域3、检测圆环中的Aruco码(单个或菱形或棋盘)4、计算目标的位姿----大致效果代码预览完整代码请看github...(测试性代码,写的很粗糙,仅供参考)Github: https://github.com/1061700625/OpenCV_ArucoMat testDetect(Mat &markerImage,...) / cv::getTickFrequency(); std::cout 标记画轴...标记生成器:https://chev.me/arucogen/OpenCV识别Aruco markers库:https://docs.opencv.org/4.5.4/d5/dae/tutorial_aruco_detection.html

    1.3K21

    使用 OpenCV 的基于标记的增强现实

    在这个例子中,我们将编写一个简单的代码,借助 ArUco 标记来增强视频流上的图像。...ArUco 标记是用于相机姿态估计的基准方形标记。当在视频中检测到 ArUco 标记时,你可以在检测到的标记上增加数字内容,例如图像。...标记大小决定了内部二进制矩阵的大小。ArUco 标记中的奇数块代表奇偶校验位,标记中的偶数方块代表数据位。 黑色边框便于在图像内快速检测,二进制矩阵允许对其进行识别。...在 OpenCV 中,ArUco 标记字典遵循命名约定cv2.aruco.DICT_NxN_M,其中 N 是二进制矩阵的大小,代表标记的大小,M 是字典中 ArUco 标记的数量。...开始使用计算机的默认摄像头捕捉视频,并读取要叠加在 ArUco 标记上的图像。 检测视频帧中的 ArUco 标记并找到每个 ArUco 标记的所有四个角的位置。

    1.4K20

    使用C++ OpenCV实现椭圆区域检测与Aruco码的生成与检测并估计位姿

    前景概要 很多机器视觉的定位与识别场景,如无人车、无人机,都会用Aruco码或特定的标志物来实现,Aruco码的优点在于,xxxx(自行搜索)。  ...实现内容 0、打开摄像头或某张图片 1、先检测圆环(因视角变换可能是椭圆环); 2、裁剪保留圆环区域 3、检测圆环中的Aruco码(单个或菱形或棋盘) 4、计算目标的位姿 ---- 大致效果 代码预览...完整代码请看github(测试性代码,写的很粗糙,仅供参考) Github:  Mat testDetect(Mat &markerImage, bool diamond = true, bool aamed.../ cv::getTickFrequency(); std::cout << "相机位姿估计耗时(ms):" << tdelt << std::endl; // 为每个标记画轴...标记生成器:https://chev.me/arucogen/ OpenCV识别Aruco markers库:https://docs.opencv.org/4.5.4/d5/dae/tutorial_aruco_detection.html

    1.8K20

    HTML中的标记

    文章目录 前言 块级元素 行内元素 行内块级元素 ---- 前言 HTML中的标记 块级元素 h1-h6>>1-6级标题 p>>段落 div>>定义文档中的节 ul>>定义无序列表 ol>>定义有序列表...>定义定义列表中项目的描述 menu>>定义命令的菜单/列表 table>>定义表格 caption>>定义表格标题 tbody>>定义表格主体 thead>>定义表格头部 tfoot>>定义表格中的表注内容...(脚注) tr>>定义表格中的行 th>>定义表格中的表头单元格 colgroup>>定义表格中供格式化的列组 col>>定义表格中一个或多个列的属性值。...bdo>>定义文字方向 cite>>定义引用 code>>定义计算机代码文本 dfn>>定义定义项目 ins>>定义被插入文本 kbd>>定义键盘文本 Mark>>定义有记号的文本 q...>>定义短的引用 rp>>定义若浏览器不支持 ruby 元素显示的内容 rt>>定义 ruby 注释的解释 ruby>>定义 ruby 注释 samp>>定义计算机代码样本 small>>定义小号文本

    5.6K30
    领券