- 博客(216)
- 收藏
- 关注
原创 机器视觉:ROI在机器视觉中的作用
ROI是图像中的一部分区域,它可能包含了特定的对象、特征或模式,是我们分析和处理的重点。ROI在图像处理中扮演着重要角色,特别是在模板匹配等应用中,它指定了一个特定的区域,使得图像处理函数只在该区域内进行操作,从而提高了处理效率和准确性。ROI是一个区域,可以是矩形的也可以是圆形的,通常用于指定图像中需要特别处理的区域。:通过设定ROI,图像处理函数只在该区域内进行操作,减少了不必要的计算量,从而提高了处理速度。:在模板匹配时,ROI作为匹配搜索的参考图像,提高了匹配的准确性和效率。
2024-11-02 14:55:30 152
原创 机器视觉:9点标定的原理与实现
标定就是将机器视觉处理得到的像素坐标转换成实际项目中使用到的毫米坐标。简单说即使看看实际单位距离内有几个像素,如下图所示,10mm的距离内有222个像素,那像素坐标和实际的毫米坐标就有个比例关系了。
2024-10-23 14:39:28 804
原创 机器视觉在芯片测试中的应用
本项目中使用机器视觉来进行芯片位置纠正,其实也没什么东西,就是把芯片吸过来,拍个照,看位置偏多少,再把位置纠正,当然了,事先要整一个芯片的图片作为对照的模板。所以这篇文章就根据项目的先后顺序来描述一下,有经验的可以一起来讨论优化,没经验的可以学习参考一下。
2024-10-22 14:10:40 710
原创 伺服电机:原点设置、原点、零点、参考点的理解
其实理论上是可以这么做的,回原点的时候总是希望能快点到原点,那速度就得快,那么问题来了,速度比较快的时候,检测到原点信号,电机是否能马上停下来。这很好理解,就好比高速上高速行驶,在接近目的地的时候,车速就要慢慢降下来,才能精确的停在某个位置上,如果是等到了位置点才减速停车,那车子还要往前冲一段位置,就是这么个道理。不是电机的原点,而是伺服系统的原点,是伺服系统中设定的一个特殊位置,一般情况下,原点相对于伺服电机的零点有一个固定的偏移量,用于确定电机的起始位置。伺服电机的零点和原点在应用中有不同的作用。
2024-10-22 10:56:44 636
原创 常见的图像处理算法:Canny边缘检测
严格来讲,图像梯度计算需要求导数,但图像梯度一般通过计算像素差值来得到梯度的近似值。计算图像梯度,水平梯度和垂直梯度采用 sobel 算子在 x 轴、y 轴方向计 算梯度,全部梯度使用下面的公式计算。Canny 算法出现以后一直是作为一种标准的边缘检测算法,此后也出现了各种基于Canny 算法的改进算法。1、低错误率的边缘检测:检测算法应该精确地找到图像中的尽可能多的边缘,尽可能的减少漏检和误检。(3)若某一像素位置的幅值在两个阈值之间,该像素仅仅在连接到一个高于高阈值的像素时被保留。
2024-10-08 15:04:57 292
原创 常见的图像处理算法:Laplacian边缘检测
拉普拉斯提取边缘属于使用二阶导提取边缘,它是一种各向同性的边缘提取算子。而像 sobel 等,它们在提取 x、y 方向的边缘都是使用不同的算子来实现的。我们在使用拉普拉斯算子提取边缘之前,先使用高斯平滑图像,这一过程就是 Laplacian-Gauss(LOG)算子。它把的高斯平滑滤波器和 Laplacian 锐化滤波器结合了起来,先平滑掉噪声,再进行边缘检测,所以效果会更好。对图像中的阶跃性边缘点定位正确,对噪声十分的敏感, 会丢失一部分边缘的方向信息,造成一些不连续的检测边缘。
2024-10-08 14:57:08 294
原创 常见的图像处理算法:scharr滤波----scharr filter
Scharr滤波器是一种用于图像处理的工具,主要用于边缘检测和特征提取。 它解决了Sobel算子在3x3内核时可能产生的误差问题,提供了更精确的结果。Scharr滤波器在保持与Sobel函数相同的计算速度的同时,适用于各种图像深度。
2024-10-08 14:53:01 276
原创 常见的图像处理算法:Sobel边缘检测
Sobel 算子是一个主要用于边缘检测的离散微分算子(discrete differentiation operator)。它结合了高斯平滑和微分求导,用来计算图像灰度函数的近似梯度。在图像的任何一点使用此算子,都将会产生对应的梯度矢量或是其法矢量。Sobel 算子是一个主要用于边缘检测的离散微分算子。它结合了高斯平滑和微分求导,用来计算灰度图像的近似梯度。
2024-10-08 14:44:44 290
原创 常见的图像处理算法:双边滤波----bilateral filter
双边滤波是一种非线性滤波器,它可以达到保持边缘、降噪平滑的效果。双边滤波是采用加权平均的方法,用周边像素亮度值的加权平均代表某个像素的强度,所用的加权平均基于高斯分布。最重要的是,双边滤波的权重不仅考虑了像素的欧氏距离,还考虑了像素范围域中的辐射差异,在计算中心像素的时候同时考虑这两个权重。
2024-10-08 14:20:21 473
原创 常见的图像处理算法:高斯滤波----gaussian filter
高斯滤波是一种线性平滑滤波技术,主要用于消除图像中的高斯噪声,广泛应用于图像处理的减噪过程中。 高斯滤波通过对整幅图像进行加权平均,使每一个像素点的值由其本身和邻域内的其他像素值经过加权平均后得到。其具体操作是使用一个模板(或称卷积、掩模)扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值。
2024-10-08 14:03:11 608
原创 常见的图像处理算法:均值滤波----mean filter
其基本原理是用一个给定的窗口覆盖图像中的每一个像素点,将窗口内的像素值求平均值,然后用这个平均值代替原来的像素值。一个3*3的像素矩阵,灰度值分别是2、2、3、 7、 6、 8、 7、 6、 8,他们的平均值是5.44,四舍五入取5,目标像素的灰度值6就改为5。3、传感器数据处理:均值滤波器可以用于传感器数据的平滑处理,去除数据中的噪声等。2、缺点:均值滤波器容易使图像失真,无法保留图像的细节。2、视频处理:均值滤波器可以用于视频去噪、平滑等方面。1、优点:去噪效果好、平滑度高、简单易实现、适用性广。
2024-10-08 11:23:45 504
原创 常见的图像处理算法:中值滤波----median filter
中值滤波法是一种非线性平滑技术,可用于消除孤立的噪声点。中值滤波在滤除噪声的同时,能够保护信号的边缘,使之不被模糊,这些特性是线性滤波方法所不具有的。
2024-10-08 11:03:40 621
原创 陀螺仪如何测量水平
其核心部件为陀螺,通过测量陀螺的角速度来确定运动状态。在一般情况下,陀螺仪都采用光学陀螺或者微机电陀螺,通过精密的光学或者电子器件测量角速度,从而确定运动状态。陀螺仪广泛应用于船舶、航空、导航、制导、惯性导航等领域,可以用于测量方向、运动状态、位置、角度等参数,具有精度高、稳定性好、实时性强的特点。3. 测量所得的角速度值与初始状态下的角速度值相比较,即可确定陀螺仪与水平面之间的夹角,从而确定水平方向。4. 为了提高精度,可以进行多次测量取平均值,或对陀螺仪进行校准以减小误差。
2024-07-30 10:38:25 545
原创 运动控制:步进电机同步带传动距离计算
步进电机同步带传动是指利用同步带带动步进电机旋转,从而实现机械传动的一种方式。步进电机同步带传动常用于CNC数控机床、自动化生产线等场合。其具有定位精度高、误差小、响应快等优点。
2024-07-17 10:40:50 902
原创 运动控制:编码器滤波
光栅盘上有一系列的透明和不透明的刻线,在光栅盘旋转过程中,探头会遇到透明和不透明编码器是一种测量旋转轴位置和速度的设备,利用旋转轴上的光栅盘和探头产生脉冲信号,从而实现位置和速度的测量。编码器主要由旋转轴、光栅盘、探头和信号处理电路组成。
2024-07-16 11:11:29 535
原创 正运动控制器:EtherCAT总线初始化
运动控制器的EtherCAT总线接口可用于连接EtherCAT和EtherCAT,无论连接什么模块, EtherCAT 总线都需要编写一段EtherCAT来进行电机和EtherCAT扩展模块的使能。使能之后的应用与脉冲电机一致,运动指令都是相同的。2、EtherCAT总线初始化的一般过程1、使用SLOT_SCAN扫描设备,判断RETURN是否正确,未连接设备时不会报错。2、通过等对设备类型、信息等进行判断。3、依次设置ATYPEDRIVE_IO等。4、
2024-07-15 17:26:53 802
原创 运动控制:伺服电机的刚性与惯量是什么,如何调节
伺服电机的刚性通常是指其机械结构对负载变化的抵抗能力,或者说其固有振动特性的程度。高的刚性意味着电机能够更好地保持稳定的位置精度,对于需要精确控制和快速响应的应用非常重要,比如精密定位、工业机器人和自动化设备。刚性好的伺服电机在受到外力扰动时,其转速和位置波动较小,能提供更平滑和稳定的运动性能。然而,过高的刚性也可能导致电机在大负载下工作时更容易过热。
2024-07-14 11:51:19 4230
原创 C++:申明Declaration与定义Definition的本质与区别
定义则是实际创建变量或函数的过程,包括分配内存给变量、给出函数的具体实现和构造/析构函数等内容。定义通常只能在一个特定的位置,比如在函数内部或源文件中。// 在源文件中定义变量并初始化// 定义函数// 在源文件中定义类public:// 构造函数和成员变量的定义。
2024-07-06 11:08:17 345
原创 C++:引用的本质与应用
1、变量是一段连续存储空间的;2、程序通过变量来申请并命名存储空间;3、可以通过变量的名字来使用存储空间;那么问题来了,一段连续的存储空间是否可以有多个别名?一个人可以有乳名,小名,正名,字,号,同理存储空间应该可以有多个别名,可以通过引用来解决。
2024-07-06 10:51:50 601
原创 C++:类的成员属性,公有,私有,保护
它们的主要特点是只能在该类内部直接访问,外部(包括派生类)无法直接读取或修改这些私有元素,这提供了一种封装机制,保护了类的数据不被随意篡改。在C++中,公有属性(Public Members)是类的成员变量,它们可以被类的所有外部程序直接访问和修改,因为它们的访问权限设置为public。这意味着在基类中声明的受保护成员,只有直接或间接从基类派生出来的子类能访问它,而外部的函数或对象无法直接操作这些成员。:在设计类的时候,如果某个数据对所有用户都是可见且需要频繁操作的,将其设为公有属性是合理的。
2024-07-06 10:38:17 1528 2
原创 C++:类继承是什么,怎么继承
首先了解什么是基类,什么是派生类在面向对象编程中,基类(Base Class 或 Superclass)是一个类的模板,它定义了一些通用的属性和行为。子类(Derived Class 或 Inheritance)可以从基类那里继承这些属性和方法。基类通常包含了共性的功能,而子类则可以在此基础上添加特有的特性和扩展。通过基类,可以实现代码的复用,并支持模块化的结构设计,使得代码组织更清晰,维护更容易。在C++中,类继承是一种。
2024-07-05 17:25:56 361
原创 C++:构造函数是什么东西
在C++中,构造函数是一种特殊成员函数,它有一下几个明显的特征:1、它在创建新对象时被调用。2、其3、返回类型,4、通常(除了默认情况下的隐式this指针)。的是初始化新创建的对象设置它们的数据成员到合适的初始状态。当对象的生命期开始时,构造函数会被执行一次;当对象不再存在(如通过删除、局部变量超出作用域等)时,析构函数则会自动调用。
2024-07-05 16:32:15 635
原创 C++:this指针到底是什么东西
在C++中,this是一个隐含的指针,它指向当前正在被调用的函数的对象实例。当你在一个成员函数内部引用selfme或者是无名的"this"时,实际上是访问了这个特殊的变量。this通常用于区分函数参数和局部变量,以及访问或修改该函数所属的对象状态。在这个例子中,printName函数通过this->name访问了MyClass对象的name属性。使用this的关键在于其作用域,它只在当前作用域内的成员函数内有效。在构造函数、析构函数、拷贝构造函数和赋值运算符等特殊成员函数中,this。
2024-07-05 16:12:16 1117
原创 Qt学习:QPushButton组件的使用
Qt中的QPushButton(Push Button)是一个常用的图形用户界面组件,它代表了一个可以在用户界面中点击的矩形区域,通常用于触发某种操作或执行特定功能。当用户单击按钮时,程序会响应预定义的槽函数(slot),即连接到该按钮的事件处理函数。触发事件处理:当用户点击按钮时,会触发预设的槽函数(slot),即连接到的特定方法。响应状态变化:QPushButton支持不同的视觉样式和状态,如正常态、按下态、选中态等,这可以通过设置样式或者连接信号来实现动态效果。
2024-07-04 13:46:28 355
原创 Qt学习:Qt的坐标系统
Qt的坐标系统是一个基于屏幕或窗口的二维空间体系,用于描述用户界面元素的位置和大小。(Screen Coordinates):这是最直观的坐标系统,原点通常设置为屏幕左上角,X轴向右延伸,Y轴向下延伸。当你创建窗口并放置控件时,如果不指定其他坐标,它们会按照屏幕坐标进行定位。(Window Coordinates):每个窗口都有自己的坐标系统,相对于其父窗口(如果没有父窗口,则相对于屏幕)。当控件在窗口内部移动时,窗口坐标保持不变,即使窗口被调整大小或移动到其他位置。此外,Qt还提供了一种称为。
2024-07-04 13:34:59 1388
原创 Qt学习:Qt窗口组件以及窗口类型
开发者可以根据项目需求创建独特的UI组件。Qt的窗口组件设计灵活,易于上手,并提供了高度的可定制化,使得构建功能强大的图形用户界面变得非常方便。
2024-07-04 10:27:03 963
原创 Qt学习:Qt Creator工程管理
cpp 和 .h 或 .hpp 文件:源代码文件,分别负责实现类的成员函数和声明,C++类库通常是.cpp后缀,头文件.h或.hpp用于暴露接口供其他模块引用。.pro 文件(Project file):这是Qt Creator项目文件,也叫项目描述文件,用于定义工程的基本配置、依赖项、构建设置等信息。.ui 文件:如果项目中涉及到GUI设计,会有Qt Designer生成的.ui文件,它是Qt的资源文件,用于描述用户界面布局。文件是一个用户特定的配置文件,主要用于存储针对特定开发者的个性化设置和偏好。
2024-07-03 17:21:45 468
原创 Qt学习:Qt用户界面的核心元素
包括各种UI元素,如按钮(Button)、标签(Label)、文本编辑器(TextEdit)、滑块(Slider)、复选框(Checkbox)、单选按钮(RadioButton)等,用于交互和数据展示。:Qt提供了几种布局管理器(Layouts),如FlowLayout、GridLayout和QHBoxLayout/QVBoxLayout等,帮助管理和组织控件的位置和大小,保证界面在不同屏幕尺寸下看起来整洁。:用于控制界面的颜色、字体和其他视觉属性,提供统一美观的外观。
2024-07-03 16:23:17 835
原创 Qt学习:Widgets Application与Console Application的区别
Qt Widgets和Qt Console是Qt框架中的两种不同组件,它们的主要区别在于用户界面交互和用途。
2024-07-02 15:46:52 713
原创 运动控制:伺服电机的运行模式
此模式下,上位机给目标位置 ( 绝对或者相对 )、位置曲线的速度、加减速及减速度, 伺服内部的轨迹发生器将根据设置生成目标位置曲线指令,驱动器内部完成位置控制,速度控制,转矩控制。周期同步位置模式下,上位控制器完成位置指令规划,然后将规划好的目标位置 607Ah上以周期性同步的方式发送给伺服驱 动器,位置、速度、转矩控制由伺服驱动器内部完成。当 速度达到限幅值后将进入调速阶段。周期同步速度模式下,上位控制器将计算好的目标速度 60FF 周期性同步的发送给伺服驱动器,速度、转矩调节由 伺服内部执行。
2024-06-24 17:31:17 842
原创 机器视觉:光源的类型以及主要参数
因此当物体表面比较平整是,物体反射的光线才沿着一定的方向射入相机,将平整面照亮,但是表面凹凸不平的物体反射的光线不能以原来的方向射入反光片。圆顶光源是由高密度的LED排列在圆形电路板上的漫反射无影光源,球面内部有特殊涂层,LED的光经球面特殊涂层的漫反射均匀、平滑地照射在被测物体表面。正斜面打光,光源在相机的下方,目标物体在光源的下方,且光源与目标物体保持一定的角度。使用黑白相机时,当光源照射在具有相邻色的物体表面时,物体将会反射同种颜色色谱的光线,相机接收到对应光线后,物体表面会变亮。
2024-06-14 15:04:49 1877
原创 数字信号处理:关于锁存器Latch的发现
或非门有两个端子,一个是A,一个是B,当一个输入0,比如A=0的时候,这时,它实际上相当于一个反相器,于是前面的循环锁存逻辑可以人为的高复杂一些,但是结果不变。在某个瞬间,它换掉了第1个反相器,换成一个产生信号G的器件,这个信号G可以是0 也可以是1。现在需要详细看看这个循环了,这个循环是这样的,两个反相器串联起来,再把第二个反相器的输出接到第一个反相器的输入。当一个端子的输入为1的时候,比如这里假设A=1,这时,无论B是什么,这个或非门就只有一个功能,那就是输出0。在两个或非门的输出端,引出两根线。
2024-06-11 15:19:19 372
原创 步进电机:贯穿式步进电机
贯穿式丝杆步进电机采用丝杆驱动,其输出转矩和转速可以被准确地控制,从而实现高精度的运动,适用于需要高精度控制的各种场合。贯穿式丝杆步进电机的结构紧凑,丝杆轴承直接安装在电机内部,轴承配合装置保证良好的稳定性,并且能够抵挡较大的径向负载和轴向负载,从而确保电机的稳定性。由于贯穿式丝杆步进电机通过丝杆传递力矩,因此当电机停止运动时,丝杆会自动锁死,具有自锁性。一般情况下,若使用外部驱动式直线丝杆步进电机,如果丝杆和导轨安装的平行度不佳,则很有可能导致系统卡滞。
2024-06-06 10:06:26 462
原创 EtherCAT通讯简介
EtherCAT 总线是基于以太网的开发架构的实时工业现场总线通讯协议,目前是最快的工业以太网技术之 一,提供了纳秒级精确同步,具有高性能、拓扑结构灵活,低成本、高精度、应用简单等优点。不同位的值表示的功能参见驱动器手册的描述去设置,部分参数设置完成需要写入到驱动器的掉电存储器中,并重启驱动器生效。报文中包含索引和子索引信息,如此方便对象在对象字典中定位,而且对象字典中的复合数据结构易于通过。数据帧通过时,取出主站发送给该从站的数据,并将该从站需要传送给主站的数据插入到。个字节,则必须实行分段传送。
2024-05-30 17:06:17 2333
原创 CAN总线应用协议CANopen
作为一种真正开放的CAN总线高层协议,CANopen协议允许不同的CAN设备以标准化的方式进行通讯,这使得CAN设备具有互操作性。随着CANopen协议的日益完善,它已经广泛应用于多个行业。本文将对CANopen协议的等几个方面进行简要分析。一、CANopen对象字典CANopen对象字典是CANopen协议的概念。所谓的对象字典就是一个有序的对象组,每个对象采用一个16位的索引值来寻址,这个索引值通常被称为索引,其范围在0x1000~0x9FFF之间。
2024-05-29 15:56:26 982
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人