自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 资源 (20)
  • 收藏
  • 关注

原创 Qt QGraphicsItem使用信号槽注意事项

Qt QGraphicsItem使用信号槽注意事项

2022-06-07 20:11:16 404 1

原创 Qt Sliders 示例

滑动条示例 qt实现

2022-01-21 20:04:45 1196

原创 工业镜头基础知识

应用于机器视觉中的工业镜头的基本知识

2022-01-13 19:26:17 260

原创 当大恒相机采集帧率没有达到理论帧率时

当大恒相机采集帧率没有达到理论帧率时,可设置最大带宽

2021-12-06 18:35:59 3286

原创 对C++静态绑定与动态绑定的理解

对C++静态绑定与动态绑定的理解编译系统要根据已有的信息,对同名函数的调用作出判断。对于调用同一类族中的虚函数,应当在调用时用一定的方式告诉编译系统,你要调用的是哪个类对象中的函数。这样编译系统在对程序进行编译时,即能确定调用的是哪个类对象中的函数。确定调用的具体对象的过程称为关联或绑定(binding)。在这里是指把一个函数名与一个类对象捆绑在一起,建立关联。一般来说,关联指把一个标识符和一个存储地址联系起来。静态绑定:在编译时就能把函数名与具体函数绑定在一起,即编译时绑定,通过对象调用,如函数重

2021-05-06 20:34:37 2492 5

原创 C++虚析构函数

C++虚析构函数一般来说,用new运算符动态生成的对象都是通过delete指向它的指针来释放的,例如Base1 *p = new Base1;delete p;但是我们有时会让一个基类指针指向用new运算符动态生成的派生类对象,例如以下程序:#include <iostream>using namespace std;//基类Base1class Base1{public: Base1() { cout << "Base1构造函数" &.

2021-04-23 21:20:58 1246 1

原创 C++虚函数

1.什么是虚函数虚函数是在类中被声明为virtual的成员函数,是实现运行时多态性的基础,C++中的虚函数时动态绑定的函数为什么要用虚函数实际应用#include <iostream>using namespace std;//基类Base1class Base1{public: void display();};void Base1::display() { cout << "Base1::display()" << e.

2021-04-22 07:43:50 233

原创 对C++函数重载的理解

对C++函数重载的理解1.什么是函数重载在实际开发过程中,有时候会用到几个功能大体相同的函数,只是部分细节有所不同。例如交换两个变量的值而其中的类型可能是(int,float,char,double等)。而在C语言中我们只能设计多个不同名的函数,如下:void swap1(int *a, int *b); //交换 int 变量的值void swap2(float *a, float *b); //交换 float 变量的值void swap3(char *a, char ...

2021-04-22 07:24:31 277

原创 C++错误提示: 无法将参数 1 从“const char [7]”转换为“char *” 或“const char *”类型的值不能用于初始化“char *”类型的实体

C++错误提示: 无法将参数 1 从“const char [7]”转换为“char *” 或“const char *”类型的值不能用于初始化“char *”类型的实体用VS2017或VS2019写C++代码时,发生以下两个错误之一时,均可按以下两个方法解决:解决办法一:将变量char *改为const char *解决办法二:按如下操作即可:项目->属性->C/C++->语言->符合模式,将符合模式由是改为否...

2021-04-15 20:16:17 9275 5

转载 关于basler相机传输丢帧问题的处理

处理办法借鉴自:https://blog.csdn.net/sazass/article/details/81283896相机丢帧3个主要原因解释:1、工业相机自身硬件设计工业相机将图像从光学信号转变成有序的电信号,其中图像传感器传送图像到相机上的usb芯片,USB再传送给电脑端,如果某一时段电脑端系统繁忙,没有及时接收到图像,而后续的图像又传送过来,导致未接收到的那部分图像丢失。...

2019-07-26 16:06:42 2775

原创 工业相机之全局曝光与卷帘曝光

曝光方式包括两种:全局曝光(global shutter) 卷帘曝光(rolling shutter)CCD相机都是全局曝光,CMOS相机既有全局曝光也有卷帘曝光 全局曝光全局曝光的方式比较简单。也就是说光圈打开后,整个图像芯片同时曝光。因此,曝光时间与机械的开关速度有关。既然与机械运动相关,所以,存在理论上的最小曝光时间优点:所有像素点同时曝光缺点:曝光时间存在局限,存...

2019-01-08 19:17:38 14684 1

原创 halcon读取多张图片的几种方式

第一种:ImagePath := []ImagePath[0] := 'D:/halcon_test/读取多张图片的方式/1.jpg'ImagePath[1] := 'D:/halcon_test/读取多张图片的方式/2.jpg'ImagePath[2] := 'D:/halcon_test/读取多张图片的方式/3.jpg'ImagePath[3] := 'D:/halcon_tes...

2018-12-31 23:57:38 4689

转载 工业相机视场和分辨率计算

1.视场的计算方法2.光学放大倍率的计算方法3.焦距的计算方法提示:工业相机传感器尺寸大小1/4″:(3.2mm×2.4mm);1/3″:(4.8mm×3.6mm);1/2″:(6.4mm×4.8mm);2/3″:(8.8×6.6mm);1″:(12.8mm×9.6mm) . 本文转自:http://www.xms-sz.com/html_news/go...

2018-12-03 22:03:28 15627

转载 线阵相机与面阵相机的区别及其应用

了解线阵相机与面阵相机的基本区别    工业相机按照传感器的结构特性可分为面阵相机和线阵相机,面阵、线阵相机都有各自的优点和缺点,在用途不同的情况下选择合适的传感器的结构工业相机,至关重要。1、类型区分面阵相机:实现的是像素矩阵拍摄。相机拍摄图像中,表现图像细节不是由像素多少决定的,是由分辨率决定的。分辨率是由选择的镜头焦距决定的,同一种相机,选用不同焦距的镜头,分辨率就不同。 像素的多少不...

2018-12-02 15:32:51 29252

转载 机器视觉之镜头简介

一、什么是镜头简单讲镜头就是在其一端收集物体的光线,并将光线在另一端汇聚为实像,并投影到接收面的物体。此时,汇集光线的点称为焦点,镜头中心到焦点的距离称为焦点距离。 当镜头为凸镜时,焦点距离将根据镜头的厚度(膨胀)程度不同而各不相同,膨胀程度越大焦点距离越短。二、镜头的重要参数镜头几个基本的参数包括焦距(长焦,广角,变焦范围),F值(表征透光率)等。 而工业用镜头与之相比,更关...

2018-12-02 15:03:05 3507 1

转载 镜头的选择和主要参数

转于:http://www.ihalcon.com/read.php?tid=102摄像头镜头是视频监视系统的最关键设备,它的质量(指标)优劣直接影响摄像头的整机指标,因此,摄像头镜头的选择是否恰当既关系到系统质量,又关系到工程造价。  镜头相当于人眼的晶状体,如果没有晶状体,人眼看不到任何物体;如果没有镜头,那么摄像头所输出的图像就是白茫茫的一片,没有清晰的图像输出,这与我们家用摄像头和照相机的...

2018-04-22 14:15:07 2126

原创 远心镜头与普通镜头拍摄工件孔径对比

远心镜头相对于普通镜头来说,具有放大倍数恒定,不会随着景深变化而变化,无视差等优点。下图是用远心镜头与普通镜头拍摄工件孔径来做对比实验所得效果。图1用普通镜头拍出来的图像。由于普通镜头存在的视觉,聚焦误差、孔径内壁易产生阴影,对于提取内孔边缘造成影响,数据不准确,精度不高。图2用远心镜头拍摄的图像。远心镜头特有的平行光特性,确保孔径测量不会产生阴影,轮廓清晰、数据准确,不需要对图像做过多校正。远心...

2018-04-10 22:51:01 2178

原创 工业镜头选型

首先,要确定相机的接口、靶面尺寸和分辨率大小。打比方是2/3" 相机,C接口,5百万像素;那么我们可以先确定需要的工业镜头是C接口,最少支持2/3", 5百万像素以上,或者线对在160LP.其次,确定所要达到的视野范围(FOV)和工作距离(WD),然后根据这两个要求和已知的靶面尺寸计算出工业镜头的焦距(f)。其计算公式为:焦距f = WD × 靶面尺寸( H or V) / FOV( H or V...

2018-04-10 22:37:32 1106

原创 工业镜头基础要点一

镜头焦距分为像方焦距和物方焦距镜头的构造:                                  机器视觉应用中多用定焦镜头,所以此处的调焦环不是用来调整焦距的,而是用来调整像距的,以保证清晰图像落在焦平面上。理想凸透镜成像公式:1/u+1/v=1/f,其中u是物距,v是像距,f是焦距“变焦(Zoom)”是指改变焦距f。只有变焦镜头的焦距才能改变,定焦镜头的焦距是固定的。“调焦(Foc...

2018-04-10 19:16:11 3526 1

转载 远心镜头

远心镜头(Telecentric lens)原理介绍远心镜头(Telecentric lens),是为纠正传统镜头视差而设计,它可以在一定的物距范围内,使得到的图像放大倍率不会变化,简单的说这种镜头拍出来的图像没有近大远小关系。远心镜头又分为物方远心镜头、像方远心镜头和双侧远心镜头。下面是两个远心镜头的实物照片。...

2018-04-09 20:43:48 747

原创 labview之簇控件元素的顺序值修改

簇中的元素也有一定的排列顺序和序号,而簇中元素在默认情况下是按照放入簇框的先后顺序进行排序的,而并非是按照位置进行排序的。即使有两个元素相同的簇,如果它们的顺序值不一样,那么这两个簇是无法匹配的。所以,有时有必要更改簇内控件元素的顺序值,可通过右击边框,选择”重新排序簇中控件“...

2018-04-05 21:20:27 5320

转载 Makefile基础

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! 在编译一个大型项目的时候,往往有很多目标文件、库文件、头文件以及最终的可执行文件。不同的文件之间存在依赖关系(dependency)。比如当我们使用下面命令编译时:$gcc -c -o test.o test.c$gcc -o hel

2017-03-05 12:15:59 176

原创 构造函数

产生的原因:普通成员不能在类内直接赋值,因为只有对象创建的时候才分配空间,那么,我们的数据如何赋初值,此时,构造函数也应运而生了形式:类名(参数列表) {}           无返回值作用:对数据成员赋初值

2017-02-27 21:00:33 211

原创 C++中 引用&与取地址&的区别

引用是给已定义的变量起别名引用:在声明的时候一定要初始化#include using namespace std;int main(){ int a = 88; int &c = a; //声明变量a的一个引用c,c是变量a的一个别名,如果引用,声明的时候一定要初始化 int &d = a; //引用声明的时候一定要初始化,一个变量可以有多个引用

2017-02-27 19:04:01 37368 17

原创 重载

重载的定义重载函数是函数的一种特殊情况,为方便使用,C++允许在同一范围中声明几个功能类似的同名函数,但是这些同名函数的形式参数(指参数的个数、类型或者顺序)必须不同,也就是说用同一个运算符完成不同的运算功能。这就是重载函数。重载函数常用来实现功能类似而所处理的数据类型不同的问题。形式:void fun(int a);void fun(int a,double d);

2017-02-27 09:54:59 259

原创 关于变量的声明和定义

变量的声明与定义的区别变量的声明有两种情况:1、一种是需要建立存储空间的。例如:int a 在声明的时候就已经建立了存储空间。2、另一种是不需要建立存储空间的。 例如:extern int a 其中变量a是在别的文件中定义的。前者是“定义性声明(defining declaration)”或者称为“定义(definition)”,而后者是“引用性声明(refer

2017-02-25 22:12:35 765

原创 对#ifdef等 条件编译的妙用分析

这几个宏是为了进行条件编译。一般情况下,源程序中所有的行都参加编译。但是有时希望对其中一部分内容只在满足一定条件才进行编译,也就是对一部 分内容指定编译的条件,这就是“条件编译”。有时,希望当满足某条件时对一组语句进行编译,而当条件不满足时则编译另一组语句。     条件编译命令最常见的形式为:     #ifdef 标识符     程序段1     #else     程序段

2017-02-25 14:41:48 349

原创 关于C语言的malloc函数以及内存泄漏的问题

malloc函数malloc函数的原型:(void *)malloc(int size) malloc函数的返回值是一个void类型的指针,参数为int类型的数据,即申请分配的内存大小,单位是字节。内存分配成功之后,malloc函数返回这块内存的首地址,你需要一个指针来接受这个地址。但是由于函数的返回值是void *类型,所以必须强制转换成你所接收的类型。也就是说这块内存将来要用来

2017-02-25 11:43:51 12363 3

原创 C语言内存分配详解

一般情况下,一个可执行二进制程序(更确切的说,在Linux操作系统下为一个进程单元,在UC/OSII中被称为任务)在存储(没有调入到内存运行)时拥有3个部分,分别是代码段(text)、数据段(data)和BSS段。这3个部分一起组成了该可执行程序的文件。(1)代码段(text segment):存放CPU执行的机器指令。通常代码段是可共享的,这使得需要频繁被执行的程序只需要在内存中

2017-02-21 19:22:08 334

原创 系统移植与NAND FLASH

1)BL0:是指S5PV210的iROM中固化的启动代码        作用:初始化系统时钟,设置看门狗,初始化堆和栈,加载BL1(2)BL1:是批在iRAM自动从外扩存储器(nand/sd/usb)中拷贝的uboot.bin二进制文件的头最大16K代码        作用:初始化RAM,关闭Cache,设置栈,加载BL2(3)BL2:是指在代码重定向后在内存中执行的ubo

2017-02-13 10:49:43 439

原创 什么是ROM、RAM、DRAM、SRAM和FLASH的区别

ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写。ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。RAM有两大类,一种称为静态RAM(Static RAM/SRAM),SRAM速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以

2017-02-13 09:06:12 474

转载 S5PV210 LCD屏

LCD简介LCD(Liquid Crystal Display) ,即液晶显示屏,是一种采用了液晶控制透光度技术来实现色彩的显示器,LCD 有很多种类型,常见的有 :STN(超扭曲向列),它的特点是功耗低,但亮度不足,响应时间长;(1602那种类型的)TFT(薄膜晶体管),它的特点是响应时间短,画面清晰,但功耗稍高,(自己实验用的应该是这个类型的,这个类型当作计算机

2017-01-04 14:21:56 630

原创 tslib库的安装

1,上网搞个源码库,如果你可爱到不会用百度,没关系,戳我下载(http://download.csdn.net/detail/vincent040/9662825)。2,将源代码丢到Ubuntu,并通过以下命令解压到Ubuntu的家目录下:tar xjvf tslib-1.4.tar.bz2 -C ~3,进入源码顶层目录,依次执行如下命令:mkdir ~/tslib./conf

2016-12-16 20:12:02 957

原创 Linux内核链表细节及应用实例

内核链表是双向循环链表内核链表的实质是通过操作小结构体来实现插入、遍历、删除等功能对于/*** list_for_each_entry    -    iterate over list of given type* @pos:    the type * to use as a loop counter.* @head:    the head for your li

2016-12-14 09:48:59 868

原创 Linux内核链表分析

从Ubuntu系统中获取内核链表头文件方式:cp list.h /home/gec/Download/linux-2.6.35.7-gec/include/linux/home/gec/Download/linux-2.6.35.7-gec/include/linux是list.h的路径或者cp list.h /usr/src/linux-headers-3.5.0-23/incl

2016-12-13 19:31:25 1965 1

原创 配置Ubuntu的IP地址

1,确保你的宿主机(windows)联网是没问题的,否则,先解决windows的联网问题2,点击虚拟机按钮,选择设置,点击网络适配器,选择桥接的方式连接,使得ubuntu有独立的IP3,配置ubuntu的IP地址、网关地址、子网掩码:sudo vi /etc/network/interfaces,其内容如下:auto loiface lo inet loopback

2016-12-12 18:51:28 653

滑动条示例,qt实现,供大家学习一下

滑动条示例,qt实现,供大家学习一下

2022-01-21

halcon17完全破解

永久破解halcon17.12.00,完美地帮助许多halcon自学者解决关于halcon破解的问题,里面有详细的操作说明

2019-01-11

工业相机选型的相关公式

可以很好地帮助视觉工作者进行相机选型,提供相关行业经验

2019-01-05

MCS-51单片机原理及接口技术

对51单片机的原理进行详细讲解,以及对其接口技术进行详细剖析和运用

2018-04-06

OpenCV入门教程

opencv入门教程,让你更轻松掌握opencv库的使用,对每一个知识点进行详细讲解

2018-04-06

零死角玩转STM32-高级篇

STM32高级进阶之路,让自己早日成为高级STM32工程师,走向更远的技术之路

2018-04-06

零死角玩转STM32-中级篇

STM32进阶学习,让入门者走向更高一级的技术之路,让自己成长更快

2018-04-06

零死角玩转STM32-初级篇

STM32初级入门,详细讲解每一个知识点,入门更轻松,缩短开发周期

2018-04-06

QT高级编程详解

对QT进行精细剖析以及讲解,让每一个热爱QT的技术迷更加容易掌握并加以运用

2018-04-06

C++学习课件

C++学习资料,对于新手的学习有极大的帮助,里面对各个知识点进行详细的讲解

2017-02-25

智能车PID算法实现原理讲解

智能车PID_算法实现原理讲解

2017-01-04

K60使用详解

K60使用详解

2017-01-04

智能小车路径识别及速度控制系统的实现

智能小车路径识别及速度控制系统的实现

2017-01-04

Linux内核详解

Linux kernel详解

2017-01-04

V4L2使用手册

基于Linux环境 V4L2 的使用

2017-01-04

基于Linux环境下利用线程池实现大批量文件拷贝

基于Linux环境下利用线程池实现大批量文件拷贝,包括文件IO操作、线程池操作

2017-01-04

跟我一起写Makefile

基于Linux环境下的Makefile的编写,实现更快捷地项目代码编译链接

2017-01-04

ARM汇编语言官方手册

ARM汇编语言官方手册

2017-01-04

空空如也

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

TA关注的人

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