自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

嵌入式-老费,一个分享专业嵌入式知识的blog

专注于嵌入式软件系统性能优化

  • 博客(1202)
  • 资源 (4)
  • 收藏
  • 关注

原创 上位机图像处理和嵌入式模块部署(树莓派4b和pyqt5界面开发)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 在大部分linux程序开发中,一般是没有界面的。不过不排除有些场合,是需要用界面进行数据交互的。这种情况下一般就是用pyqt5做一个简单的界面就可以。特别是功能比较单一的时候,如果还要花大量的时间去做界面相关的工作,往往是得不偿失。加之对于树莓派4b这样的界面,直接用mobaxterm可以直接进行界面开发,非常方便。

2024-04-26 10:26:14 167

原创 上位机图像处理和嵌入式模块部署(树莓派4b与mcu固件升级)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 在一个系统当中,可能不止需要树莓派4b一个设备,有的时候还需要搭载一个mcu,做一些运动控制的事情。比如说,图像处理的结果传给mcu,mcu拿到这个结果之后做一些机械控制的事情。这里面最简单的,就是控制一个电机将残次品推到残次品框里面。 既然涉及到mcu,那么mcu的版本升级肯定是少不了的。一般的mcu升级,都是通过jtag或者swd烧入的。但是后期维护的时候,总不

2024-04-25 10:08:18 653

原创 上位机图像处理和嵌入式模块部署(树莓派4b进行自动化测试)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 硬件、软件功能开发ok只是产品开发的第一步。怎么做到自动化测试、保证产品质量才是关键。很多时候,我们给客户提供了功能,这只是相当于一只脚踏入了行业的门槛而已。产品是不是稳定、性能够不够好,才是提高产品竞争力最重要的环节。 当然,一个产品的测试很多,有软件测试、硬件测试、结构测试和系统测试。大部分测试都是黑盒测试,即测试人员不需要对功能的实现进行过多的理解和分析。这有

2024-04-25 06:27:40 387

原创 上位机图像处理和嵌入式模块部署(树莓派4b实现一键还原)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 一键还原这个功能,相信大家并不陌生。最明显的就是家里的路由器,或者是我们从网上买的二手路由器。如果是二手的路由器,买过来的时候,一般设备都是配置了别人的密码和数据的。这个时候,我们肯定希望设置成自己想要的信息。或者说,一个设备如果用很长时间了,不记得里面设置的一些信息,比如说密码,这个时候用一键还原也是比较合适的。 在没有做一键还原的时候,觉得这个功能很玄乎,等到自

2024-04-24 19:15:28 476

原创 上位机图像处理和嵌入式模块部署(树莓派4b中开发网页)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 对于智能硬件系统,除了用上位机进行配置之外,对于一些常用的功能,完全可以用网页进行配置。这些设置包括ip设置、端口设置、算法参数的修改、是否恢复出厂设置、系统重启等等。当然,和上位机的专业配置、测试、以及验证相比较,网页进行的配置可以少一点,比如一些简单的配置可以留在网页上面,对于那些需要专业设置的部分,最好还是放到上位机去进行处理。 说到web server,在l

2024-04-24 10:17:49 407

原创 上位机图像处理和嵌入式模块部署(树莓派4b用skynet实现进程通信)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 前面我们说过,在工业系统上面一般都是使用多进程来代替多线程。这后面,主要的原因还是基于安全的考虑。毕竟一个系统里面,如果很多的功能都focus在一个进程里面,这本身比较危险。因为这意味着,如果一个线程里面的code不是很健壮,那么整个系统就无法正常运行了。所以大家普遍采用的方法还是多进程。 当然多进程就会涉及到通信的问题。很多同学都会推荐共享内存的方法,其实个人还是

2024-04-24 07:54:10 505

原创 上位机图像处理和嵌入式模块部署(树莓派4b的一种固件部署方法)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 如果软件开发好了之后,下面就是实施和部署。对于树莓派4b来说,部署其实就是烧录卡和拷贝文件。之前我们烧录卡,一般就是用读卡器烧入镜像,然后再用micro hdmi转hdmi搭配显示器的方法去配置ip地址,这样有了网络之后,后续的部分就是用网络处理了。这么做当然不是不可以,主要就是麻烦,而且需要屏幕的配合。有些情况下,我们是没有显示器的,特别是出差的时候,这种情况下就显得更不合适了。为

2024-04-23 16:34:13 466 1

原创 上位机图像处理和嵌入式模块部署(树莓派4b如何实现多进程通信)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 和mcu固件、上位机软件不太一样的地方,嵌入式设备上面上面的工业软件一般都是多进程的形式。相比较多线程而言,整个系统就不会因为一个线程的bug造成崩溃,这也是大多数工业、军工和医疗系统采用多进程的原因。此外,工业嵌入式软件一般由不同的部门、不同的人员开发,彼此之间用多进程开发,也方便升级、调试和管理。只要大家都按照一定的形式和接口去开发和编程就可以了,相互之间没有约束。

2024-04-22 07:27:00 433 1

原创 上位机图像处理和嵌入式模块部署(树莓派4b进行驱动的编写)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 树莓派4b上面还支持驱动代码的编写,这是我没有想到的。这里驱动,更多的是一种框架的编写,不一定是编写真正的驱动代码,比如说reserve一块内存,又或者是做一些防止程序被copy,这些都是可以的。不一定说是真正地去驱动某个硬件。大家可以根据自己的需求,灵活去进行处理和选择就好了。

2024-04-21 20:36:21 356

原创 上位机图像处理和嵌入式模块部署(树莓派4b处理类muduo网络编程)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 既然是linux编程,那么自然少不了网络编程。在linux平台上面,有很多的网络编程库可以选择,大的有boost、qt,小的有libevent,总觉得用的不是很顺手。其实在linux上面,还有一个国人写的网络库muduo,是比较小巧的,使用上面也很方便,大家可以多多使用。本身它是面向linux服务器多线程编程的,用它来写一个类ros的通信框架,再合适不过了。

2024-04-21 20:10:38 341

原创 上位机图像处理和嵌入式模块部署(树莓派4b使用pcl点云库)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 图像处理,大家都知道它有显著的优点和缺点。优点就是分辨率高,信息丰富。缺点就是,整个图像本身没有深度信息。过去在深度信息这部分,大家一般都倚重于激光雷达,但是激光雷达价格比较高,所以一般用的比较少。但是,现在随着3d camera、多线激光雷达的普及,特别是价格的大幅度下降,这样的话,我们不仅可以使用图像来作为数据输入的来源,还可以使用多线雷达的点云,这一点相比较以前就很方便了。

2024-04-21 18:36:34 374

原创 上位机图像处理和嵌入式模块部署(树莓派4b与视觉slam十四讲)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 实际使用中,树莓派4b是非常好的一个基础平台。本身板子价格也不是很贵,建议大家多多使用。之前关于vslam,也就是视觉slam,有一本书很火,叫《视觉slam十四讲》。它里面就谈到了很多第三方库的安装,这些库其实都是可以在树莓派4b上面运行的。这样有了4b这样的开发板,大家就不需要反复打开和关闭虚拟机来运行linux了。

2024-04-20 19:35:02 745

原创 上位机图像处理和嵌入式模块部署(树莓派4b开机启动脚本)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 编写好程序之后,一般要求程序开机启动后就可以运行。所以这个时候,我们一般就会把程序流程放在开发板的启动脚本当中。如果程序比较简单的话,直接启动程序;当然程序复杂一点的话,就会有一个启动脚本,这样其他程序也可以通过这个启动脚本来运行。

2024-04-20 10:16:13 361

原创 上位机图像处理和嵌入式模块部署(树莓派4b实现固件主流程代码)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 软件开发一般有软件需求、架构设计和详细设计、软件测试这四个部分。软件需求和软件测试都比较好理解,前者是说要实现哪些功能,后者是说做好的功能怎么测试。而架构设计和详细设计很多同学不太清楚,这两者的区别是什么。所谓的架构设计,其实就是业务的主流程是什么,一般来说,软件开发好之后,会做成一个通用产品,然后根据客户的需求做定制化开发。这是一般的做法,不然针对针对每个客户都要做一次定制开发,成

2024-04-19 08:40:12 435

原创 上位机图像处理和嵌入式模块部署(树莓派4b固件功能设计)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 前面我们说过,上位机的功能都是基于插件进行开发的。但是上位机的成本比较贵,一般的企业不一定愿意接接受。这个时候另外一种处理的方法,就是通过个性化配置的方法,把上位机的一部分功能烧入到开发板上,这样客户接受起来容易一点。毕竟一方面价格便宜一点,另外一方面有实物的电路板,情感上面说也更容易接受一点。所以鉴于此,我们讨论下,一般是如何进行开发板的固件设计。

2024-04-18 11:51:06 667

原创 上位机图像处理和嵌入式模块部署(树莓派4b实现动态插件)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 和上位机一样,我们的智能硬件如果想应用到更多的场景,那么势必需要实现更多的算法。这些算法和算法之间最好是松散耦合,而不是hard code强连接的,因为这样才能更好地适应客户的场景需要。目前大部分嵌入式硬件都是使用linux作为os进行开发的,所以我们只需要了解一下在linux系统下面,实现动态插件的话应该怎么处理。

2024-04-18 06:52:40 255

原创 上位机图像处理和嵌入式模块部署(树莓派4b使用git管理代码)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 本身树莓派4b上面是装有现成的git软件,大家直接使用就可以了。最早期自己刚刚工作的时候,那个时候部门和项目的同学,大家都用svn进行代码和文档的管理。这种情况下,一般还有一个svn服务器管理人员,他负责大家的权限申请和删除。后来,由于有了git,大家都开始慢慢习惯用它做版本处理了。和svn相比较,git可以很轻松的进行本地代码管理。就算将来要push到服务器,也不麻烦。

2024-04-17 19:00:12 530

原创 上位机图像处理和嵌入式模块部署(树莓派4b实现xmlrpc通信)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 前面,我们也用纯API实现过上位机和开发板之间的通信。当时使用的方法,就是用windows自带的网络sdk和linux自带的api函数来完成的。这种方法虽然也可以达成目的,不过做起来总是稍显复杂一点。其实,我们还可以使用第三方库来达成这一目的,写起来比较简单。这种方法就是xmlrpc。xmlrpc是一个标准,很多的库可以使用。今天介绍的就是xmlrpc++库,可以在windows平台

2024-04-17 08:01:12 639

原创 上位机图像处理和嵌入式模块部署(树莓派4b应用boost库)

【声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 除了opencv库之外,另外一个个人非常推荐的库就是boost库。对于日常c++开发的同学来说,boost库应该并不陌生。它不仅可以在windows平台使用,而且可以在linux平台使用,使用比较简单、也很方便。不仅如此,boost本身还支持了各种配置文件解析、log生成和网络处理,这对于我们软件开发来说就十分地方便。

2024-04-16 08:32:32 575

原创 上位机图像处理和嵌入式模块部署(树莓派4b安装opencv)

【声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 树莓派4b上面安装的镜像应该是debian系统,本身是可以用apt-get进行软件下载的。这一点对于我们来说就非常的方便。因为,如果可以从官方的软件源下载软件,这样就不需要我们自己进行第三方编译了。毕竟第三方编译是一个吃力不讨好的事情,中间软件的依赖、编译器的选择、linux版本的选择,大部分的工作都是非常琐碎且没有意义的。所以,这部分我们打算直接用apt-get下载opencv进行

2024-04-16 08:10:08 539

原创 上位机图像处理和嵌入式模块部署(树莓派4b开发准备)

【声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 嵌入式开发的领域其实很广,有上位机、驱动和bsp移植。较早之前,由于自己曾经在芯片公司上班,所以对uboot、linux kernel、dts、rootfs这些纯技术的东西比较着迷。但是却忘记了,嵌入式硬件、嵌入式linux平台,本质上都是要为具体应用服务的。所以等到后来的时候,我们自己做嵌入式开发的时候,会重新把重点放到应用和算法上面,所以一般会选择那些资源比较多的开发板,比如说像

2024-04-15 20:08:55 325

原创 上位机图像处理和嵌入式模块部署(智能硬件的介绍)

【声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 目前,用上位机软件虽然可以部署项目,但是它本身有自己的缺点,那就是稳定性差、价格贵。稳定性这部分,可以用工控机来解决,一般问题不大。但是价格这部分,却不好解决。此外,就目前国内市场环境来说,大部分客户对于软件的价值,认可的机会不多。但是对于硬件实体设备,则没有这方面的烦恼。所以,如果我们需要最大化自己的价值,同时不让客户付出较大的成本,比较好的方法就是开发智能硬件。

2024-04-14 20:25:09 588

原创 上位机图像处理和嵌入式模块部署(镜头和相机的选择)

【声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 在机器视觉当中,除了光源比较重要之外,另外最最重要的就是镜头和相机的选择了。通常来说,镜头是机械和光学装置,相机是电路装置。镜头讲究的一般是焦距,相机讲究的一般是分辨率、是否是彩色的、曝光时间大小、帧率快慢、是usb接口还是网络接口。除此之外,镜头是否搭载IR滤片、镜头和相机之间的接口要匹配、相机要能够通过上位机调试、提供sdk开发包等等,这些方面也是很重要的。大家可以边做边学,没有

2024-04-14 08:36:31 494

原创 上位机图像处理和嵌入式模块部署(qmacvisual缺失的光源控制)

【声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 有些场景下面,是不需要光源和光源控制的,比如说利用摄像头识别对应区域的库位,这部分直接利用红外光采集对应的图像就可以了。但是还有一些场景,是需要进行光源控制的,比如说工业场景下的物体测量、定位、检测等等。并且,这些光源控制当中,有些需要常亮的,有些则自己控制就可以了。这部分目前在qmacvisual下面是不存在的,建议同学们可以自己花钱去买一些光源和光源控制器。

2024-04-12 07:13:02 423

原创 上位机图像处理和嵌入式模块部署(改进的qmacvisual动态插件卸载)

【声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 前面我们讨论过,qmacvisual虽然提供了很多的功能,包括的种类很多,但是总有一些功能是客户希望定制的。这些都是难免的。这个时候,就需要自己编写代码来实现相关功能。目前,在qmacvisual上面是通过扩展库容器和扩展插件来实现的。使用上还是非常方便的。 但是呢,这里面还是存在一个小问题,个人觉得使用上面有待改进。那就是如果需要扩展库来加载扩展插件的时候,如果插

2024-04-11 20:09:31 391

原创 上位机图像处理和嵌入式模块部署(qmacvisual缺失的颜色检测)

【声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 在图像处理当中,对颜色的处理是非常重要的。当然,这要建立在拍摄图片是彩色图片的基础之上。工业上面,虽然是黑白图像居多。但是彩色图片也有很大的市场。这里,我们假设当前应用场景下,是可以获得彩色图片的。 既然是彩色图片,那么就可以根据需求提取我们感兴趣的彩色信息。比如,假设图片中有黑色、有红色、有蓝色,这样我们就可以通过筛选的办法,获取蓝色信息。不过颜色提取都是先从rg

2024-04-09 11:18:47 640

原创 上位机图像处理和嵌入式模块部署(改进的qmacvisual实时视频)

【声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 昨天我们第一次实现了qmacvisual下的实时视频输出,虽然有一点实时性的小遗憾,但是好歹实现0到1的突破。后来思考了一下,其实借助于qmacvisual本身的插件功能,是可以解决一开始几十ms的延迟的。最主要的做法,就是增加一个跳转函数即可。即所有功能都结束之后,不是直接跳转到第一个插件执行的地方,而是跳转到插件容器执行的地方。这么说或许有点难以理解,下面我们一步一步来进行说明。

2024-04-07 07:18:07 491

原创 上位机图像处理和嵌入式模块部署(qmacvisual实时视频)

【声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 前面我们测试和练习的时候,大部分情况下都是利用图像进行测试的,但是实际情况下,或者准确一点说,工业场景下面,大部分测试都是通过工业摄像头实时进行处理的。所以,这里面就会涉及到实时视频采集的问题。然后尽管一开始的时候,我们是希望可以在qmacvisual里面添加必要的代码,然后实现视频的输出。 实际运行中,发现如果这样做,修改的代码较多。或者说,这么做可能会破坏之前代

2024-04-06 20:07:09 616

原创 上位机图像处理和嵌入式模块部署(qmacvisual之plc通信)

【声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 传统的非标自动化设备当中,plc发挥了很大的作用。这里面如何对这些电机和机构进行控制,大多数场景下用的就是plc设备了。目前的plc主要分成四派,一部分来自于德国,以西门子为代表;一部分来自于日本,以三菱、欧姆龙为代表;还有一部分来自于中国台湾,以台达为代表;最后一部分就是大陆,这部分以汇川、信捷为代表。当然,我们都知道plc本身就是单片机+上位机编程构成的基本控制工具,之前主要用梯

2024-04-05 16:35:36 503

原创 上位机图像处理和嵌入式模块部署(qmacvisual之tcp服务器端)

【声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 上面一篇,我们谈到了tcp客户端,另外一种连接方法就是tcp服务器端。事实上,对于第三方系统,大多数情况下,我们是不能假定它是客户端还是服务器端的。所以,对于机器视觉软件来说,一般两种方法都会提供。这里假设qmacvisual此时是服务器端,对方是客户端。

2024-04-05 08:26:21 648

原创 上位机图像处理和嵌入式模块部署(qmacvisual之tcp客户端)

【声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 视觉算法出了结果之后,一般都要通知到其他设备进行某些动作的。以前通信的方式,一般都是有线的,什么232、485、can之类的协议。但是,现在很多工厂都在弄数字工厂,里面的设备传输转变成了网络设备,所以网络应用的场景也是越来越多了。所以,今天这里讨论的,主要就是qmacvisual怎么通过网络把数据结果发出去。

2024-04-04 21:21:47 751

原创 上位机图像处理和嵌入式模块部署(qmacvisual并发执行)

【声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 类似于qmacvisual这样的软件,其实价格并不便宜。比如大家熟知的halcon、vision pro、vision master这样的软件,最便宜的版本一般都要几万人民币。而且,这些license,是根据项目和pc编号来收费的。所以,对于单个项目来说,人们总是希望一个上位机软件可以使用尽可能多的camera,完成尽可能多的工作。 qmacvisual就是这么设计

2024-04-04 08:22:59 501

原创 上位机图像处理和嵌入式模块部署(qmacvisual亮度检测)

【声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 前面我们说过,在机器视觉当中,对于光源的处理要非常小心。这里面不仅包括了选择什么样的光源,还取决于怎样使用这些光源。通常情况下,静止的场景,一般都是手工调节光源之后,不再变更;但是对于运动的物体,特别是机器人,这个时候就涉及到光源的控制了。 怎么控制光源,这里面就涉及到一个pid反馈控制。控制输出的一般是pwm波形,或者是一个串口协议,反馈的数值也是通过算法计算出来

2024-04-03 16:26:12 835

原创 上位机图像处理和嵌入式模块部署(qmacvisual图像清晰度)

【声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 做过isp的同学都知道,图像处理里面有一个3A,即自动曝光、自动白平衡和自动对焦。其中自动对焦这个,就需要用输入的图像清晰度作为反馈,自动调整摄像头的焦距。这也是摄像头中唯一需要机械控制的部分。那怎么判断图像的清晰度,这里面每个厂家都有自己的算法。今天我们学习的qmacvisual软件里面就自带了三个算法。

2024-04-03 08:44:26 541

原创 上位机图像处理和嵌入式模块部署(qmacvisual之n点标定)

【声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 工业场景中,很多时候图像是用来做测量的。虽然我们很希望载台是平的,摄像头是正对着拍摄物体的,但是运行时间长了总会出现各种各样的偏差,尤其是有电机振动的时候。那么这种情况下,就需要重新进行标定了。标定的方法和之前的畸变矫正一样,就是找一个标准的斑点治具,上面各个斑点之间的高度和宽度,都是可以转成对应的世界坐标。利用这个标准的器件,以及拍摄到的图像,就可以计算得到一个新的透视矩阵,这样对

2024-04-02 12:01:39 589

原创 上位机图像处理和嵌入式模块部署(qmacviusal边缘宽度测量)

【声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 前面有一篇文章,我们了解了测量标定是怎么做的。即,我们需要提前知道测量的方向,灰度的方向,实际的长度这些参数,才能最终通过算法求得水平方向和垂直方向的像素宽度是多少。那求得这些数值,用途是什么?本质上,还是要进行距离的测量。所以,今天正好学习下边缘宽度是如何测量。

2024-04-02 08:20:20 480

原创 上位机图像处理和嵌入式模块部署(qmacvisual获取边界点)

【声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 在图像处理中,解决了分割的问题之后,下面就是属性信息的提取。在这其中,有一种属性是非常重要的 ,那就是外界轮廓的边界点获取。这个边界点,可以用来计算长度,也可以用来进行直线、圆的拟合,具体的用途取决于现场的实际使用场景。目前qmacvisual支持对边界点的提取,相关控件可以直接用来提取边界点。

2024-04-01 14:37:49 531

原创 上位机图像处理和嵌入式模块部署(qmacvisual查找圆缺角)

【声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 前面我们讲过识别,讲过标定,讲过测量,讲过匹配,但就是没有讨论过基于图像的产品检测。但事实上,产品检测和测量、拟合是一脉相承的。和深度学习不同,因为深度学习是通过定位、标定和训练来完成的,而传统机器视觉仍然是借助于图形拟合之后,判断拟合后的特征,和实际标准图像特征之间的差距,判断产品质量是否有问题。这种拟合可以是直线、矩形、圆或者是其他凸多边形,都是ok的,只要有一个参考的标准就行。

2024-04-01 07:35:35 549

原创 上位机图像处理和嵌入式模块部署(qmacvisual寻找圆和寻找直线)

【声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 前面有几篇文章,我们谈到过直线拟合、圆拟合和椭圆拟合。当时,我们的做法是,先找到了轮廓,接着找到了对应的中心点,借助于这些中心点完成图形拟合的。今天我们来学习另外一种图形查找的方法,它是通过ROI区域、参数配置,直接去寻找图形的。默认我们已经设定了图形查找的范围,接下来就是通过ROI区间、算法和参数来找到对应的图形。

2024-03-31 16:07:32 625

原创 上位机图像处理和嵌入式模块部署(qmacvisual形状匹配)

【声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 在qmacvisual软件当中,提供了两种模板匹配的方法。除了前面介绍的灰度匹配,就是今天讲的形状匹配。当然,对于使用者来说,可以忽略他们之间的区别,因为使用的流程都是很类似的。即首先创建模板,然后利用模板去进行图像匹配。在实际应用中,如果形状特征比较有规律,建议多使用形状匹配;反之则建议使用灰度匹配。不过,具体情况还要具体分析,实在不知道如何选择的同学,可以两种方法都尝试下,哪种识

2024-03-31 07:47:03 427

rootfs.tar

rootfs

2023-05-25

arm9兼容软核代码

arm9兼容软核代码

2020-12-24

png图片读取、保存代码

这是一个完整的png图片读取项目,包括了pnglib、zlib和win32工程,大家可以单步调试验证png格式的基本功能。

2012-07-08

glibc1.09的源代码内容

这里是glibc早期的版本,对大家学习libc非常有帮助,希望大家积极下载、

2011-05-21

exceptional C++

这是关于c++非常好的一本书,相信对大家十分有用!

2009-05-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除