![](https://img-blog.csdnimg.cn/direct/0d91675a9a86459eaa41847a1feb76d0.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
机器视觉
文章平均质量分 86
机器视觉相关的所有基础、案例、行业信息、最新技术、算法、新产品等
Franklin
工程师
展开
-
开源项目介绍-01:机器视觉 - 检测 - AAMED-master 圆和椭圆
AAMED:Arc Adjacency Matrix based Fast Ellipse Detection :基于弧邻接矩阵的快速椭圆检测。原创 2024-04-30 10:10:17 · 1059 阅读 · 0 评论 -
双目模组 - IMSEE SDK的配置实践:含Opencv的详细编译配置
CMake(3.0以上)(需要支持vs2019)IMSEE-SDK。原创 2024-01-31 21:30:37 · 1168 阅读 · 2 评论 -
Cmake编译Opencv3.3.1遇到有些文件无法下载的错误解决:
对于,opencv有些配置文件错误并未致命,所以,有错误也不影响后续的编译:但是,后引用如果要用,在回过头来还是要解决的。原创 2024-01-30 21:59:51 · 780 阅读 · 0 评论 -
编译Opencv3.3.1遇到的编译器无法识别的警告的问题解除:
本文,就是在一个硬件的SDK中用到了opencv3.3.1的版本,在笔者目前的VS2019,CUDA11版本下编译的问题和解决。在做Cmake的configure的时候,Cmake报了一个找不到编译器版本的错误,原创 2024-01-30 21:03:49 · 487 阅读 · 0 评论 -
编译Opencv3.3 版本遇到的Cuda版本变更导致:CUDA_nppicom_LIBRARY (ADVANCED)链接找不到的问题根本解法:
Opencv 开源库的使用是必须的,但是,开源项目的特性,造成,版本的依赖性比较复杂,尤其是针对某一款老硬件的SDK,往往随着某个开源库的使用,导致,无法编译的问题,本文,就是在一个硬件的SDK中用到了opencv3.3的版本,在笔者目前的VS2019,CUDA11版本下编译的问题和解决。原创 2024-01-29 00:00:10 · 1280 阅读 · 1 评论 -
MSVS C# Matlab的混合编程系列2 - 构建一个复杂(含多个M文件)的动态库:
本节我们尝试将一个有很多函数和文件的Matlab算法文件集成到C#的项目里面。原创 2024-01-18 18:17:55 · 1412 阅读 · 0 评论 -
HALCON&VS .net混合编程案例【02】:检测芯片的管脚间距
本章给出的HALCON和Visual Studio的WPF项目中联合编程的案例。VS中WPF的编程,UI的设计非常方便,如果结合HALCON的算法,可以很快实施机器视觉相关的应用。本例的应用,实现了自动检测的一个三洋的芯片的管脚的间距。原创 2023-12-24 10:35:20 · 930 阅读 · 0 评论 -
Halcon 从基础到精通-02- HALCON&VS C++混合编程,检测电路板PCB的管线连接
HALCON的应用通过HDevelop应用来构建原型。HDevelop的开发主要有3种形式。手动通过脚本,把HDevelop的代码转化为一般的编程语言。如,上一节提到,其实,每个operators,也许并不一样,需要依据HALCON Operator Reference来确定具体支持哪类编程语言。通过HDevelop自动进行转化。通过库+对应的CMake文件的方式来部分编译。原创 2023-10-06 15:02:17 · 608 阅读 · 0 评论 -
Halcon 从基础到精通-01- 基本概念
机器视觉应用 - HALCON 的应用集原创 2023-09-30 14:53:05 · 342 阅读 · 0 评论 -
【C++基础】【集成编译环境04】Visual Station 2022 项目集成【2】 Opencv 的库的项目集成和遇到的坑
其实,在上一期博文VS2022的【集成编译环境03】设定里面,我们已经搞定了PCL这个难的开源库,至此,没雨搞不定的开源项目。所以,对Opencv这种小鸟,应该完全没有压力,但是,还是有一点不同,难点不多,思来想去,还是决定水一期,方便大家查阅、原创 2022-08-23 18:42:02 · 1100 阅读 · 0 评论 -
【C++基础】【集成编译环境03】【3D视觉】Visual Station 2022 项目集成【1】 Point Cloud Library (PCL)库的项目集成和遇到的坑
PCL:1.12.1编译:Debug版本Windows10系统 64位。原创 2022-08-23 18:15:10 · 1701 阅读 · 2 评论 -
【Opencv】【技能树】技巧实例【01】 - 接口和Bar条的设计
本文内容来自于CSDN技能树的练习:本文的目的在实践后,给出更详细的内容和实践体会。技能树的源码需要构建到项目里面才能运行,我的系统编译环境如下:环境搭建主要就是opencv的标准搭建,新建项目比较好一点。因为,毕竟版本还是不一样。新项目搭建,可以参考我的这篇博客。CLION 编译环境搭建编译大致没有问题:我这个版本需要修改调节Bar条,可以调节两张图的重叠的明暗程度。【案,这里转的CSDN的例子,我做的修改主要是编译问题和选图】...原创 2022-06-16 08:03:01 · 235 阅读 · 0 评论 -
【C++基础】【集成编译环境02】从源码开始的Windows10 Clion的Opencv 3.0 编译环境配置和搭建
前言:本文详细介绍了CLION下的opencv的编译环境搭建。文章先从Opencv的基础版本出发,介绍opencv下载的几种方法。然后,依此按照拍照CLION来编译Opencv的要求逐一配置项目系统:在安装好编译器,和CMAKE编译系统后,笔者先对Opencv的源码进行了编译,然后,在CLION里面设置好安装的编译器和 CMAKE编译系统,同时,将上述编译器和Opencv编译好的库的地址都添加到系统路径里面,然后,找到两个标定的opencv代码进行了编译,并编译成功。小结:opencv的源码原创 2022-05-11 20:37:48 · 2517 阅读 · 0 评论 -
【工业相机】【深度4】线扫描相机 - 选型实践
前言:在工业相机的深度应用的前三节里面,针对工业相机的选型、参数、应用计算等做了一些说明。期中,在深度3里面,在说明工业相机在速度场景下的应用的时候,专门开了一节介绍线扫描相机行频速度的计算公式和镜头的选型的大致说明,感觉说的还是不够透彻,切应用举例也不充分,这里特别开一个章节,基于线扫描相机的特点对比面阵相机的特点进行比较详细的说明,尤其对线扫描相机的选型实践,尤其是线扫描相机的分辨率选择计算、行频选择计算进行了充分的说明和计算说明,希望能够给用到线扫描工业相机的同学给予一定的参考:阐述:在编原创 2022-05-04 23:11:50 · 16582 阅读 · 10 评论 -
【C++基础】【集成编译环境01】Clion的C++编译环境和Boost Test Framworks框架运行实践
前言:原创 2022-04-28 00:50:58 · 4289 阅读 · 0 评论 -
Pycharm+OpenCv的Python环境搭建 - Anaconda环境失败解决方案 - 实践
本文实践构建了基于python的opencv环境原创 2022-03-21 11:25:00 · 5923 阅读 · 0 评论 -
MATLAB 在图像处理和机器视觉的应用举例01 - 官网培训视频笔记(下)分类/灰度共生矩阵/纹理分类学习
前言:本节继续讨论Matlab的机器视觉工具集举例,这次为分类的综合实现:该例子,用到了图像处理,统计,并行计算等方法。1 分类的难度:【计算机视觉里面,分类的精髓在选取适当的数据集和算法,这一点在用计算机去选择处理的时候,往往具备难度】图像分类的步骤如下:本例,演示对纹理图像进行分类:KTH-TIPS数据集,包括了10中不同的纹理数据集,(铝箔,砂纸,橘子皮)在不同尺度和光照条件下拍摄的图片,每一种物质包括81张图片。1.1 显示分类的纹理图片:1. 2..原创 2022-01-20 22:55:14 · 2266 阅读 · 0 评论 -
MATLAB 在图像处理和机器视觉的应用举例01 - 官网培训视频笔记(上)-- 图像分割和图像配准
前言:笔记:1 应用场景:2 图像处理和机刷跟你讲视觉任务:3 MATLAB 能做什么:4 产品介绍:4.1 图像处理工具箱4.2 计算机视觉系统工具箱:5 举例:5.1 边缘检测和分割【mySegmentation 分割函数【关键的函数,索伯算法,Edge】同时调用了一些,数学中的形态学的参数。】5.2 基于特征的匹准:在遥感,医学等,本例,想将两个图...原创 2022-01-13 21:00:00 · 2576 阅读 · 0 评论 -
Matlab 图像采集工具的使用 - Image Acquisition Toolbox【IAT】 + 大恒相机的应用【1】+多个摄像头支持
Image Acquisition Toolbox™ 包含一系列函数和模块,可将相机连接到 MATLAB®和 Simulink®。它包含一个可让您交互式检测和配置硬件属性的 MATLAB 属性。您然后可以生成等效的 MATLAB 代码,以便在将来的会话中自动进行采集。该工具箱支持各种采集模式,如在环处理、硬件触发、后台采集以及跨多台设备同步采集。Image Acquisition Toolbox 支持所有主要标准和硬件供应商,包括 USB3 Vision、GigE Vision®和 GenICam...原创 2021-12-30 07:47:03 · 5093 阅读 · 0 评论 -
Matlab 【应用】【1】用Matlab找一组模拟波形的极值(含极大值、极小值、最大值)并在图中画出来
前言:本文,从一个模拟摄像机拍摄的光栅图分析入手,尝试找到该光栅图的各个极值,从而来评估光栅的正弦特性:参考:1Matlab中利用findpeaks找波峰和波谷https://blog.csdn.net/it_beecoder/article/details/786815172 Matlab 官网 findpeaks的说明https://ww2.mathworks.cn/help/signal/ref/findpeaks.html...原创 2020-07-01 19:51:45 · 8152 阅读 · 3 评论 -
深入谷歌开源项目【1】 - Camer2 - 环境搭建和源码编译
1 环境准备:1.1 Andord 环境准备:Andorid Studio 下载:Download Android Studio and SDK tools | Android Developers (google.cn)步骤截图:下载后直接选地方安装:如果要选择安装目录和安装组件,选这里:系统配置选择:1 选屏幕分辨率2 选你手机上的版本:问题列表:1Intel® HAXM installation fail...原创 2021-12-09 18:30:19 · 2287 阅读 · 0 评论 -
线性代数【9】 - 特征值和特征向量-方阵的特性
前言:和秩一样,矩阵的特征值和特征向量都是矩阵的重要性质。本节,我们研究矩阵的特征值和特征向量的定义和求法。1 矩阵的特征值和特征向量一个是非零向量X,一个是数如果满足上诉条件,就被称为矩阵的特征值和相应的特征向量。2 特征值向量的求法:从定义出发:由于矩阵和数是不能进行计算的,这里常数λ需要乘以一个单位I【也可以写成E】阵然后进行计算。这里就是一个齐次线性方程了,X是N维度非零向量。【含了我们研究的矩阵,记住,我们的主要目的是研究....原创 2021-11-23 11:34:18 · 4388 阅读 · 0 评论 -
线性代数【8】-1 线性方程组 - 非常重要的概念 - 三个基本的问题
1线性方程组的表达:一般形式 增广阵形式 未知数阵矩阵形式 向量形式这四种表述中,其中第二种表述需要附加说明,而第三种矩阵表述,则比较清晰,不需要附加说明。其中,第三种矩阵表述,简化为:【A】系数阵 【X】未知数矩阵 B【右端矩阵】上例为,m = 2,n =3,表述为,2个方程,3个未知数。第四种表述,用上面的例子可以表述为:对于第4种例子,我们可以理解为,右端解的矩阵如果可以由系数矩阵表述,那么这个方程就有解。2 线性方程组的解法:2.1 用增...原创 2021-11-22 17:09:50 · 4617 阅读 · 2 评论 -
3D 机器视觉 02 - FPGA生成N位元格雷码
前言,FPGA是机器视觉里面经常用的的控制逻辑单元,并行处理速度快。格雷码的生成方法中,通过异或的逻辑变化生成格雷码是最适合的方式。举例一个位元为3的格雷码:下面为一个位元为4的格雷码对比图1 软件一般用递归法:2 异或的方法:2.1 标准的异或移位法:前面几节我们讲过这个方法,小结一下:其实就是错位异或2.2 异或乘除法:2.2.1 编码:异或乘3后右移1位。2.2.2 解码3 FPGA源码:3....原创 2021-07-15 16:07:12 · 334 阅读 · 3 评论 -
3D 机器视觉 01 - 格雷码在3D视觉中的运用和码位选择原则
1投影图像的编码方法:常用的一种编码方法就是基于时间的编码方法。该方法是将一系列投影图案在不同的时刻投射到被测物体的表面,像素的编码由物体表面反射的一系列值构成,因此这种方法被称为时间多路编码方法。优点:一个是由于时间编码方法可以投影多幅图案,因此可以使用较少种类的色彩或者较少级别的灰度值,来准确的区分每个点的位置,并且对每个像素进行精确编码,具有较高的扫描精度;另一个是由于该方法遵循由粗到细的原则,因此对每个像素都能够准确地进行编码。缺点:不适用于扫描动态场景。时间多路编码方原创 2021-07-14 17:16:06 · 1763 阅读 · 1 评论 -
格雷码基础和生成的几种方法
1 格雷码:1.1 格雷码引言:在数字系统中,常要求代码按一定顺序变化。在机器视觉里面,编码结构光也是按照一定的顺序进行变化,最常用的就是Binary,但是,二进制的纯粹的编码,由于二进制的进制关系(每个位是有权的),如果发生一个错码(在机器视觉里面,错码的发生可能是一个背景的干扰,也可能是测试物体的一个比较陡峭的轮廓变更),一个错码往往他的数字权重不是一位,比如二进制的最高为,错了一位,那么就是整个数值发生一半的变化。去掉权重的好处就是,如果模拟量或者是采样的数据发生了一个微小的变化,在整原创 2021-07-14 09:34:41 · 27546 阅读 · 2 评论 -
工业相机,大恒,面振相机8脚电源线和I/O触发接口线,颜色和接法说明和触发软件设定
上图:说明一下,工业相机有TTL逻辑电平触发,也有光耦触发等。这里一般我们用电路板驱动,就用GPIO触发模式,这里,准备了两个GPIO触发模式,为LINE2,LINE3都可以选择,然后有一个GPIO_GND如果,你只有一个触发接口,那么如图,选两个就好了。实际接法如图。...原创 2021-03-12 12:12:44 · 12696 阅读 · 5 评论 -
【工业相机】【深度3】相机选择-精度和曝光需求计算 - 输入:1 被测试物体的最小体积 2 被测物体的移动相对速度
前言:本举例,说明,我们在工业场景下,如果需要在某个速度下计算某个尺寸的物体的工业相机的精度计算方法1 需求定义本需求定义为测量一个有移动速度的工业被测物体:输入参数 标识 输入参数 举例 FOV FOV 12寸(30.38cm) Smin 最小被测量物体大小: 0.25寸(0.635cm) SPmax 物体某个维度移动最大速度 1.2传感器靶面像素需求计算方法-缺陷和物体测...原创 2021-02-08 18:38:24 · 5686 阅读 · 0 评论 -
【工业相机】【深度2】相机靶面大小和测量精度的关系分析和计算:@opencv
前言:本文分析工业相机的靶面、镜头和精度的约束和相关关系:所谓工业相机(整机)这里指的是:相机 + 镜头。我们先把各个参数列个表述。整机参数分别由相机和镜头参数联合决定。参数。 相机整机参数 举例 相机参数 举例 镜头参数 外部参数 内部参数 说明 像素 相机像素 1920*1080 分辨率百万量级 200万(2073600) 分辨率 分辨率...原创 2021-02-08 18:36:13 · 11216 阅读 · 2 评论 -
【工业相机】【深度1】相机的选择:- 镜头- 详细例子
本文论三个问题1 如何依据应用选传感器型号和分辨率2 如何选择需要的最好的相机和镜头3 如何找到满足的适合的亮度的可靠性性能参考:1 工业相机的选择原创 2021-02-08 18:37:25 · 6442 阅读 · 3 评论 -
相机标定基础【1】- 在Visual Station 2019 上搭建OpenCV应用 (1)- 安装配置VS
1 访问微软VS网站选择免费的社区版本下载,安装。先下载的是一个引导程序,然后,通过网页边下载边安装2 配置VS然后 我这边选择了Windows 用程序开发,然后自动设定MFC头文件等VS 会自动生成下面的代码// 3D_Cam_Calibration.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include "...原创 2020-02-25 16:21:00 · 3088 阅读 · 5 评论 -
激光功率的测量方案和设备
前言:项目遇到N多和激光有关的问题, 其中,最重要的是高功率激光的功率的测量和计算问题。找了长春的一家设备,结果,功率计根本无法测量大功率的激光二极管。这里找了几篇论文查阅了一下:1 中国激光功率计量标准2 激光功率基本理论基础2.1 激光功率:光是一种能量,如果,电光转化效率为100%,那么输入1W的电功率,输出为1W的激光。激光功率计是测量激光器输出激光的功率参数值...原创 2020-01-07 15:19:13 · 5325 阅读 · 0 评论 -
激光器安规详细解读 - 一级 - 并以940波长为例
前言:作为人工智能的重要解决方案,激光作为不可或缺的一个选项。但是,激光的安规问题始终是要得到关注。尤其是3D识别技术在人脸上的使用的时候,如何判读激光器的安全使用规范,变得非常重要。本文,尝试从欧洲激光标准IEC 60825-1:2014,以及国家激光产品规则标准GB 7247.1,抛砖引玉,写出自己的理解。本节,主要讨论,人脸识别需要符合的安全等级1:1 激光标准的分类激光国际...原创 2019-12-31 09:48:08 · 3096 阅读 · 1 评论 -
特征点提取算法 - 01 - 特征的定义基础
前言:特征提取(feature extraction)是计算机视觉和图像处理中的一个概念。它指的是使用计算机提取图像信息,决定每个图像的点是否属于一个图像特征。特征提取的结果是把图像上的点分为不同的子集,这些子集往往属于孤立的点、连续的曲线或者连续的区域。案:理解特征提取就是获取依据需求,来获取图像的独有特征值。或者,是将具有相同特质的图像分解的模块进行分类和归类。1 基本概念1....转载 2019-05-14 09:54:58 · 5057 阅读 · 0 评论 -
AGV (Automated guided vehicle)基础(二) - AGV的视觉算法 - RGB - D 算法
前言: 对于不同的AGV导航算法来说AGV的,VSLAM是比较有前景的。视觉算法实现应由AGV的场景的需求来定,对不同的算法支持。VSLAM的基本框架:VSLAM的分类VSLAM的算法主要分为三类,LSD_SLAM,ORB_SLAM,RGB-D SLAM。RGB-D SLAM的典型框架如下:RGB-D SLAM位姿图构建包括特征检测与匹配 、运动估计、关键帧...原创 2019-05-22 16:18:31 · 1657 阅读 · 0 评论 -
AGV (Automated guided vehicle)基础(一) - AGV的导航种类
最近涉足MEMS激光相关的机器 视觉行业中,设计AGV的部分还是很多,这里网上收集了一些AGV的资料,补充一下基础知识:Wired(有线-地板槽方式)又叫感应式Inductive Guidance TechnologyA slot is cut in to the floor and a wire is placed approximately 1inch below the sur...原创 2019-05-04 18:08:08 · 4782 阅读 · 0 评论 -
SLAM - 01 - 分类
前言:本文针对SLAM(Simultaneous Localization And Mapping,简称SLAM)的基本定义和分类进行了讨论。1 SLAM的定义:通常是指在机器人或者其他载体上,通过对各种传感器数据进行采集和计算,生成对其自身位置姿态的定位和场景地图信息的系统。SLAM技术对于机器人或其他智能体的行动和交互能力至为关键,因为它代表了这种能力的基础:知道自己在哪里,知道周...原创 2019-05-05 17:19:18 · 2206 阅读 · 0 评论 -
CREO - 基础3 - 用拉升的方法构建一个双轮胎模型
前言: 本例用一个简单的基础方法,实现 轮胎模型。该模型在 我的一个轮胎机器视觉 项目里应用1 构建一个 零件模型平面:右键 【视觉法向】选取TOP面为2 计算轮胎周长并绘制轮胎的展开矩形平面我们设计一个半径400mm的轮胎模型,C = π R R = 2513.27 mmW = 宽度为 350 *2 = 700mm2.1 用草绘以W,C为 宽,边做矩形注意, 画的时候,绿色标记,水平,垂直,相等可以利用起来系统默认是可以连续画我们不要连续,..原创 2021-02-16 11:17:39 · 634 阅读 · 0 评论 -
CREO - 基础2 - 如何让装配好的零件重新装配
前言: CREO 装配的时候,经常碰到装配的调整,有时候确认了装配后,想重新调整:步骤1 选定你要重新编辑的零件;步骤2 右键重新编辑的你会发现,之前装配的零件下来到没有确定的列表里面同时,图纸上会出现你选定零件的三坐标设定步骤3 重新开始 装配然后,你可以重新按照你要设计的装配模式重新开始步骤4 确认:用鼠标中键单击就可以确认。这时候,编辑好的零件重新装配完毕...原创 2021-02-15 10:58:05 · 7951 阅读 · 1 评论