技术标签: 机器学习与知识发现电子书 机器学习与知识发现 机器视觉系统中相机镜头选型技巧
今天我来介绍一下工业镜头的相关知识。在前些章节,我介绍了关于光源的知识,没看的同学可以前往观看
机器视觉学习之光源--硬件知识扫盲必看
如果工业相机没有镜头,那么Sensor感光就是一片噪点,聚焦不在物体上。镜头的作用是收集反射在物体表面的光并将其聚焦在CCD/CMOS上面。镜头就好比人的眼睛一样,人要看清楚一个物体,需要先构图聚焦到某一个物体上,晶状体相当于镜头,光线通过晶状体映射在眼球后部的视网膜上,视网膜上有很多感光细胞,此是视神经将这个信息传递给大脑,人就会感知到物体。
人眼成像
镜头一般由光学系统和机械装置构成,有些镜头也集成了自动调光圈、自动调焦的功能,小编也在实际项目中有用过此类镜头,主要做产品的兼容,比如需要满足不同大小、不同高度的产品,提高设备的柔性。
这些没有严格的划分界限。
镜头
焦距
焦距和视野
光圈
光圈
最大兼容CCD尺寸
Sensor大小与镜头关系
接口
景深
景深
分辨率
分辨率线对
典型的分辨率测试图表
工作距离
工作距离
视野范围
光学放大倍数
后背焦
远心镜头
远心镜头倍率表(图示,每个厂家都有自己产品型录)
FA镜头
选择镜头接口和最大CCD尺寸
选择镜头焦距
计算焦距图示
焦距计算
选择镜头光圈
景深
环境
这是选择镜头的一般步骤。
当然,在机器视觉项目中,会根据实际项目情况选择一些其他的配件,比如使用接圈、转接环以及特殊应用可以跟生产厂家沟通定制镜头。
在实际应用中,我发现25mm/35mm的镜头使用的最广泛。
我是 机器视觉工程师,多年视觉软件开发老司机,关注我,带你视觉软件开发从入门到精通。
不同机器内部对变量的字节存储顺序不同,有的采用大端模式(big-endian),有的采用小端模式(little-endian)。大端模式是指高字节数据存放在低地址处,低字节数据放在高地址处。小端模式是指低字节数据存放在低地址处,高字节数据放在高地址处。在网络上传输数据时,由于数据传输的两端可能对应不同的硬件平台,采用的存储字节顺序也可能不一致,因此 TCP/IP 协议规定了在网络上必须采用网络字节...
HTTP一个简单的网页文件service iptables stopecho “I LOVE YOU” > /var/www/html/index.html文本排序sortsort 1.txt排序规则先数字后字母,小写字母在前。sort -t “:” -k3 /etc/passwd用用户的UID排序,按字符大小。(等于tr -d f)sort -t “:” -k3 -n /etc/pass...
文章目录一. 问题复现1. mapper.xml2. dao.java3. manager.java二. 问题解答1. 原因概述2. 原因解读参考资料一. 问题复现之前操作表的时候,都自认为Mysql的bigint类型对应Java的Long类型。今天写一个查询语句返回Map,结果出现类转换异常。怀疑了好久,查了好半天,终于搞清楚是为什么了。问题现场是这样子滴…1. mapper.xml...
上面是tablayout,下面是viewpager(嵌套fragment)首先导入依赖 compile 'com.android.support:design:25.3.1'整体布局fragment_manageleft.xml,上面tablayout,下面fragment<LinearLayout xmlns:android="http://schemas.andr
一个InnoDB表包含两部分,即:表结构定义和数据。在MySQL 8.0版本以前,表结构是存在以.frm为后缀的文件里。MySQL 8.0版本允许把表结构定义放在系统数据表中。因为表结构定义占用的空间很小,所以主要讨论的是表数据。1 参数innodb_file_per_table表数据既可以存在共享表空间里,也可以是单独的文件。这个行为是由参数innodb_file_per_table控制的:设置...
前言继续总结吧,没有面试就继续夯实自己的基础,前阵子的在面试过程中遇到的各种问题陆陆续续都会总结出来分享给大家,这次要说的也是面试中被问到的一个高频的问题,我当时其实没答好,因为很早之前是看过springboot启动过程的源码,但是时间隔得有点久了(两年多没用过springboot),所以当时也没答好。这次好好总结这部分知识。阻塞IO我们知道在调用某个函数的时候无非就是两种情况,要么马上返回,然后根据返回值进行接下来的业务处理。当在使用阻塞IO的时候,应用程序会被无情的挂起,等待内核完成操作,因为此
开发刚找我,说执行一个SQL增量乱码了,就是一个Update而已,我查了下这张表,确实有多个字段都是问号。 SQL是在命令窗口执行的,我拿着增量执行了一下,不是乱码,判断是当初执行的PL/SQL developer客户端有编码问题,因为编码的问题需要三码合一,客户端,服务器操作系统,Oracle数据库。 查询Oracle编码: SQL> select userenv('la
文章目录在开发机上的准备工作在开发机上的准备工作确认项目没有bug用开发项目的虚拟环境进入Django的项目目录,用pip freeze > requirements.txt将当前环境的包导出到requirements.txt文件中,方便在部署的时候安装。将项目上传到服务器上的/srv目录下/srv :主要用来存储本机或本服务器提供的服务或数据。(用户主动生产的数据、对外提供服务...
本文内容系收集自Internet后加以整理。1.Hibernate工作原理及为什么要用?原理:1.读取并解析配置文件2.读取并解析映射信息,创建SessionFactory3.打开Sesssion4.创建事务Transation5.持久化操作6.提交事务7.关闭Session8.关闭SesstionFactory为什么要用:1
<!DOCTYPE html><html lang="en"><head> <title>animations</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, ...
portainer启动容器时间和服务器时间相差8小时的问题! services里面点击容器,点击右侧mounts 添加mount,点击应用。容器重启再去查看时间发现时间同步过来了。
1、页面引用js文件--document.documentElement.onkeydown = function (evt) { var b = !!evt, oEvent = evt || window.event; if (oEvent.keyCode == 8) {//BackSpace 键 var node = b ? oEvent.target :