自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 镜头放大倍率和像素之间的关系

同一相机下,放大倍率越大,视野越小,精度值越小,精度越高;所以在相机、拍摄距离固定时,使用高倍率的镜头,会用相同的像素表示更小的视野,呈现更多的细节;使用低倍率的镜头,会用相同的像素表示更大的视野,图像就会相对粗糙。由于拍摄距离相同,根据三角函数关系,水平方向单个像素在实际场景中的长度。水平方向上,单个像素对应的视野角度。垂直方向上,单个像素对应的视野角度。时,水平方向单个像素对应的实际长度。,垂直方向单个像素对应的实际长度。,垂直方向单个像素对应的实际长度。水平方向单个像素对应的实际长度。

2025-02-08 14:12:16 1268

原创 opencv下载安装及VS配置(笔记)

找到opencv文件夹,依次选择build->x64->vc16->bin,复制路径D:\opencv\build\x64\vc16\bin;右键此电脑->属性->高级系统设置->环境变量->系统变量,找到Path变量,选中后点击编辑,添加D:\opencv\build\x64\vc16\lib目录下的依赖项,添加附加依赖项:项目->属性->链接器->输入->附加依赖项->编辑。添加包含目录:项目->属性->VC++目录->包含目录->编辑。添加库目录:项目->属性->VC++目录->库目录->编辑。

2024-12-13 11:08:25 2595

原创 机器视觉-相机、镜头、光源(总结)

光照的目的,是提高对比度,突出目标对象,以便提取出其轮廓等物理特征。光源作为辅助成像设备,是机器视觉系统的重要组成部分,它为机器视觉系统的图像获取提供足够的光线。

2024-10-26 14:00:29 3189 3

原创 相机、镜头参数详解以及相关计算公式

一般通过调整通光孔径大小来调节光圈,完整的光圈数值系列如下:F1,F1.4,F2,F2.8,F4,F5.6,F8,F11,F16,F22,F32,F44,F64。/CMOS)尺寸的表示方法大惑不解,因为像1/1.8英寸、2/3英寸之类的尺寸,既不是任何一条边的尺寸,也不是其对角线尺寸,看着这样的尺寸,往往难以形成具体尺寸大小的概念。图像传感器的感光部分的大小,通常指的是图像传感器的对角线长度,在同样镜头情况下,靶面越大,视场越大,靶面越小,视场越小。焦距越小,视角越大,最小工作距离越短,视野越大。

2024-09-25 16:17:35 12656 2

原创 C#图像处理学习笔记(屏幕截取,打开保存图像、旋转图像、黑白、马赛克、降低亮度、浮雕)

4)、接下来布置按钮,Button1:“打开”,Button2:“保存”,Button3:“添加暗角”,Button4:“降低亮度”,Button5:“去色”,Button6:“浮雕”,Button7:“马赛克”,Button8:“扩散”,Button9:“清除图片”,Button10:“保存2”,Button11:“油画效果”,Button12:“柔化”,Button13:“截屏”,Button14:“旋转90”。通过视图-工具箱,把工具箱调出来,在工具箱选择需要的控件。提示:右键控件属性,即可改名。

2024-09-20 15:31:44 1564

原创 Python基础(字典、集合)

Python中字典的每个元素都包含两部分,键(key)值(value),键和值之间使用冒号(:)分隔,相邻元素使用逗号(,)分隔。因为字典中的元素是无序的,每个元素的位置不固定,所以字典也不能像列表和元组那样,采用切片的方式一次性访问多个元素。2)、通过get()方法访问:使用get()访问时,当指定的键不存在,get()不会抛出异常。key可以是任意的数据类型,但不能出现可变的数据类型,保证key唯一。如果key值不存在,且没设置value,返回None,并且把新设置的key和value保存到字典中。

2024-09-18 16:53:12 613

原创 Python基础(列表、元组)

列表中的元素数据类型可以不同,可以包含整数、浮点数、复数、列表、元组、字典、集合等。注意:在使用list()函数创建列表时,一定要注意双括号,使用list函数,其实是把已创建的对象(例如字符串、元组、集合等)转换为列表。1)、索引下标访问:列表中的元素是有序的,每个元素都有一个唯一的索引(下标)。列表是可变的,说明可以修改列表中的元素,可以通过索引下标来修改元素,也可以使用列表方法来操作列表。列表:列表是动态数组,列表元素可以更改,包括修改元素值,删除插入元素,所以列表是可变序列。

2024-09-16 16:13:28 974

原创 LabView学习笔记(数值、枚举、字符串)

在程序框图中放置条件结构,把枚举控件与条件结构连接起来,连接后,条件结构的标签值会自动改变为枚举控件的值,但是此时查看到缺少了一个分支,我们只要选中条件结构然后右键,选则在后面添加分支,即可出现缺少的条件分支。完整程序框图和运行结果如下 :输出结果为4,原因是无符号单字节整型的数值范围为0~255,所示最大值为255,而加的结果是265,比255大,所以多出来的值从0开始,多出10,从0开始即结果为9。添加枚举控件后,选中控件,鼠标右键,选中编辑项,然后就可以在弹出的对话框中编辑枚举值。

2024-09-13 17:14:20 1621

原创 LabView学习笔记(数组、簇)

1)、创建簇 :在前面板中,鼠标右键-数据容器-簇,即可创建一个簇,然后在里面放置不同类型的控件,即为簇的元素,在簇中放置数值输入控件,字符串显示控件和圆形指示灯控件,放置字符串显示控件和圆形圆形指示灯后,这两个控件都变为数值输入控件。然后在程序框图中,鼠标右键-数组-数组大小,添加两个数组大小的控件,分别将两个数组和数组大小的函数连接,最后在输出端创建显示控件,观察结果。基于以上案例,在程序框图中,鼠标右键-数组-索引数组,并将数组控件与其索引数组函数连接,设置索引值,然后创建显示控件,运行查看结果。

2024-09-12 13:46:40 1972

原创 LabView学习笔记(for循环、while循环、平铺式顺序结构、条件结构、事件结构)

LabView(Laboratory Virtual Instrument Engineering Workbench)是一种用图标代替文本行创建应用程序的图形化编程语言。传统文本编程语言根据语句和指令的先后顺序决定程序的执行顺序,而LabView则采用数据流编程方式,程序框中节点之间的数据流向决定了程序的执行顺序。VisualBasic、 C、C++、C#、Java这些语言使用文本方式编程。LabView用图标表示函数,用连线表示数据流向。

2024-09-09 15:33:43 2527

原创 相机、光源(结构光、面光源、红外紫外光源)

CMOS相机:CMOS称为“互补金属氧化物半导体”,CMOS可以将光敏原件、放大器、A/D转换器、存储器、数字信号处理器和计算机接口控制电路集成在一块硅片上,具有结构简单、处理功能多、速度快、耗电低、成本低等特点。常用的有C口,CS口,F口,M42口,M50口,M58口等。图像传感器的感光部分的大小,通常指的是图像传感器的对角线长度,在同样镜头情况下,靶面越大,视场越大,靶面越小,视场越小。相机的主要参数包括分辨率和像素、相机接口、帧率/行频、曝光值、光谱响应特性、靶面尺寸、白平衡。

2024-09-04 20:15:06 1477

原创 光源、镜头

3、像方远心镜头:像方主光线平行于光轴,使相机的芯片获得均匀的光线,因为只有平行于光轴的光线才能入射在CCD/CMOS芯片前面的微型镜片上,从而使图像不会出现阴影。光源包括条形光源、条形组合光源、背光源、同轴光源、无影光源、开孔面光源、球积分光源、球积分光源、环形光源、点光源、线性光源、红外光源、紫外光源等。2、物方远心镜头:物方主光线平行于光轴,物距发生改变时,像高不会发生改变,测得的物体尺寸大小不变,主要用于工业精密测量,其畸变极小。常用的固定接口有:C,CS,S口,F口,V口,M口等。

2024-08-30 19:50:18 1362

原创 OSI模型、TCP/IP协议

TCP/IP协议指的是能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP(文件传输协议)、SMTP(简单邮件传输协议)、TCP(传输控制协议)、UDP(用户数据包协议)、IP(网际互连协议)等协议构成的协议簇, 只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。简单来说,互联网相关各类协议簇的总称称为TCP/IP协议。应用层:应用层是TCP/IP协议的第一层,是直接为应用进程提供服务的。

2024-08-13 13:28:29 716 1

原创 Python基础(选择结构(if-else)、循环结构(for)、range函数、contine和break、Random随机数类)

1、选择结构1)、单分支结构----if 语句当条件表达式成立,则执行代码块,执行完代码块继续往下执行;当条件表达式不成立,则直接跳过代码块执行后面的语句;注意:在python中没有区分代码块的{},在python中代码块的区分是用缩进来表示。2)、双分支结构----if-else语句当条件表达式成立,则执行if后面的代码块1;当条件表达式不成立,则执行else后面的代码块2;3)、多分支结构----if-elif-else当条件表达式1成立,则执行if后面的代码块1;

2024-08-12 16:02:03 1261

原创 C#文件操作

给定路径 D:/CODE/C#_testpath 下的文件,以下代码使用到命名空间:using System.IO;System.IO.File.Delete(文件全路径);示例:判断路径下的文件是否包含123的文件名,如果有则把文件名改为ddd。返回值:存在(True)、不存在(False)返回值:存在(True)、不存在(False)destfileName:改好后的文件路径。srcfileName:被改的文件路径。fullfileName:文件全路径。1)、判断文件是否存在。

2024-08-09 14:25:21 175

原创 C#基础(程序错误处理(try...catch...)、return、continue和break)

continue:continue语句在循环中发生特定条件时会中断一次迭代,并继续进行下一次迭代。可以在for循环和while循环中使用。当程序执行过程中,出现错误时可以捕捉错误,一旦程序报错则走catch中的代码,给出提示,并且可用return阻断程序继续往下执行。return:return语句用于终止当前的函数执行,并返回指定的值。可以用在任何函数中,包括方法、构造函数、属性等。是三个非常重要的关键字,可以用于控制程序流程,分别对应于跳过循环迭代、终止函数执行返回结果和跳出循环结构的操作。

2024-08-09 11:27:48 382

原创 C#基础(条件语句(if...else...、switch)、循环语句(for、while、do...while)、数组)

2)、do...while语句:先执行循环体,再判断条件表达式。while和do-while语句很相似,他们的区别在于while语句的循环体有可能一次也不执行,而。1)、if...语句、if...else...语句、if...else if...else语句、嵌套if...else...语句。静态初始话:指定数组元素的初始值和数组长度(也可以不指定,编译器会自动统计元素的个数。3)、数值元素的访问:通过下标访问,和c++一样,下标从0开始,到元素个数减一。2、数组的初始化:包括静态初始化和动态初始化。

2024-08-05 22:29:55 773

原创 Python基础(转义字符、input和print、数据类型转换、运算符)

3)、比较运算符:大于(>)、小于(=)、小于等于(

2024-08-05 13:58:23 385

原创 C#基础(注释、变量常量、数据类型、运算符、输入输出、类型转换内置方法)

赋值运算符:简单赋值运算符(=)、加法赋值运算符(+=)、减法赋值运算符(-=)、乘法赋值运算符(*=)、除法赋值运算符(/=)、取余赋值运算符(%=);算术运算符:加(+)、减(-)、乘(*)、除(/)、取模(%);指针类型:指针类型变量存储另一个类型的内存地址,C#中的指针与C或C++中的指针有相同的功能,声明指针类型的语法: type* identifier;比较运算符:大于(>)、小于(=)、小于等于(

2024-08-02 16:56:31 703

原创 Python 基础(注释、关键字、标识符、数据类型)

print是python的输出函数,特点:在控制台可以查看到程序的执行结果,如果没有f这个符号,单引号中的{}就没有作用,f的作用是将变量名称对应的'变量值'输出。2、标识符:python的标识符由字母、数字、下划线组成,但是不能以数字开头,并且严格区分大小写。数据类型:python的数据类型有 字符串、整型、列表、元组、字典、布尔型等等。4)、字符串类型(str),有三种书写格式:单引号,双引号,三引号。5)、高级数据类型,可以存储多个数据的类型,包括列表、元组、集合等。

2024-08-01 17:52:18 684

原创 字符串截取、查找、替换(substr()、find_first_of()、find_last_of()、replace())

2、替换字符串(与内置的string.replace()不一样, 可以实现多个字符替换单个字符)1、截取某个字符之前或之后的字符串。

2024-07-16 02:37:48 319

原创 类型转换(wchar_t*/char*互转、TCHAR* /char*互转、string /double互转、long double转string)

7、long double 转string。1、char*转wchar_t*2、wchar_t*转char*5、string 转double。6、double 转string。3、TCHAR* 转char*4、char* 转TCHAR。

2024-07-15 13:42:22 339

原创 c++有关取整

【代码】c++有关取整。

2024-05-29 09:16:34 830

原创 获取目录下的所有文件或文件夹、判断文件是否存在

/获取某个目录下的所有文件夹或者文件 getFiles(“文件夹路径”,返回该文件夹下所有文件的绝对路径)

2024-05-29 09:09:15 295

空空如也

空空如也

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

TA关注的人

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