- 博客(1159)
- 资源 (50)
- 收藏
- 关注
原创 基于机器视觉的手机背光板划痕灰尘检测
基于机器视觉的手机背光板划痕灰尘检测手机背光板的划痕、灰尘检测,这个在手机平板电脑等消费电子行业中应用比较多。有些公司,是专门做这类的检测。手机背光板划痕灰尘检测工业光源对于这类检测,可以考虑使用条形光源。一般使用4条条形光源,分别从左右前后进行照明。通过掠射的方式,将背光板表面的灰尘、划痕等表现出来。可以考虑使用常规的模拟控制器APS-2424-1CH或者是迷你控制器MA...
2018-12-01 09:22:19 3167
原创 基于机器视觉的磁头飞机载划痕检测
基于机器视觉的磁头飞机载划痕检测磁头飞机载的外观划痕检测,这个在磁盘企业里应用比较多。一般需要检测磁头表面是否有划痕。属于外观检测的一种。比较难的一类项目。不过好的是,磁头飞机载都是平面的,照明比较好处理。无划痕的磁头飞机载(灰尘除外)工业光源对于这种产品,因为有划痕时,表面会表现出金属色,比较容易反光,所以照明比较好处理。可以考虑使用低角度的环形光源或者是同轴光源进行照明。相...
2018-12-01 09:22:16 551
原创 基于机器视觉的玻璃Mark点字符识别
基于机器视觉的玻璃Mark点字符识别 玻璃上的Mark点、字符识别,与其它材质上的内容略有不同,其有一定的角度。基本上90度垂直看时,会反光。而其它角度看时,则不反光,表现为黑色。玻璃上的Mark点工业光源对于这种玻璃材质上的字符、Mark点等特征,直接考虑同轴光源,如COL-30-B,可以利用同轴光源的垂直特征,将字符所在位置反光回来得到明亮特征,而其它地方则透光后形成黑色特...
2018-11-29 10:40:39 3182
原创 基于机器视觉的安利纽崔莱瓶子外观检测
基于机器视觉的安利纽崔莱瓶子外观检测外观检测,在很多产品中都有相应的机器视觉检测要求。对于安利纽崔莱这样的高端产品,做检测也是必不可少的程序。瓶盖划伤工业光源对于这种检测,一般使用无影光源,如圆顶无影光源,DL-100-W。也可以尝试使用环形光源,比较大的高角度的,如RL-12060-W这样的。可以考虑使用常规的模拟控制器APS-2424-1CH或者是迷你控制器MAPS-2...
2018-11-29 10:40:32 1511
原创 基于机器视觉的眼镜镜片轮廓提取
基于机器视觉的眼镜镜片轮廓提取眼镜的镜片轮廓提取,可以用于镜片轮廓本身的精准度测量,当然用在一些灰色产业链上,如仿制名牌眼镜,通过提取名牌眼镜片的轮廓,得到其数据,然后制作一些高仿的眼镜。眼镜镜片-同轴光照明效果眼镜镜片-背光源照明效果眼镜镜片-低角度环形光源照明效果工业光源对于这种透明玻璃类产品的轮廓提取,使用低角度的环形光源照明,效果是最好的,如使用RL-9...
2018-11-29 10:40:28 817
原创 基于机器视觉的Data Matrix二维码识别
基于机器视觉的Data Matrix二维码识别二维码识别,这个在视觉应用中占有很重要的比例,各种各样的二维码都有可能需要识别。常见的QR码、Data Matrix码。本方案是识别Data Matrix码。工业光源对于这种产品,如果是丝印喷码,那么常见的白底黑码、或白码黑底,使用条形光源、环形光源等,都可以得到比较好的效果。而如果是在一些玻璃上激光打码,则建议使用同轴光源或高角度...
2018-11-29 10:40:24 7938
原创 C语言以字符形式读写文件
C语言以字符形式读写文件在C语言中,读写文件比较灵活,既可以每次读写一个字符,也可以读写一个字符串,甚至是任意字节的数据(数据块)。以字符形式读写文件时,每次可以从文件中读取一个字符,或者向文件中写入一个字符。主要使用两个函数:fgetc()和fputc()。字符读取函数 fgetcfgetc 是 file get char 的缩写,意思是从指定的文件中读取一个字符。它的原型为:...
2018-11-29 10:40:21 357
原创 C语言以字符串的形式读写文件
C语言以字符串的形式读写文件fgetc() 和 fputc() 函数每次只能读写一个字符,速度较慢;实际开发中往往是每次读写一个字符串或者一个数据块,这样能明显提高效率。读字符串函数fgetsfgets() 函数用来从指定的文件中读取一个字符串,并保存到字符数组中,它的原型为:char *fgets ( char *str, int n, FILE *fp );str 为字符数...
2018-11-29 10:40:13 626
原创 C语言以数据块的形式读写文件
C语言以数据块的形式读写文件fgets() 有局限性,每次最多只能从文件中读取一行内容,因为 fgets 遇到换行符就结束读取。如果希望读取多行内容,需要使用 fread 函数;相应地写入函数为 fwrite。fread() 函数用来从指定文件中读取块数据。所谓块数据,也就是若干个字节的数据,可以是一个字符,可以是一个字符串,可以是多行数据,并没有什么限制。fread() 的原型为:s...
2018-11-29 10:40:09 789
原创 C语言文件概述
C语言文件概述文件是数据源的一种,最主要的作用是保存数据。在操作系统中,为了统一对各种硬件的操作,简化接口,不同的硬件设备也都被看成一个文件。对这些文件的操作,等同于对磁盘上普通文件的操作。例如,通常把显示器称为标准输出文件,printf就是向这个文件输出,把键盘称为标准输入文件,scanf就是从这个文件获取数据。 常见硬件设备与文件的对应关系 文件 ...
2018-11-29 10:40:06 1211
原创 C语言文件的随机读写
C语言文件的随机读写文件顺序读写,即读写文件只能从头开始,依次读写各个数据。但在实际开发中经常需要读写文件的中间部分,要解决这个问题,就得先移动文件内部的位置指针,再进行读写。这种读写方式称为随机读写,也就是说从文件的任意位置开始读写。实现随机读写的关键是要按要求移动位置指针,这称为文件的定位。文件定位函数rewind和fseek移动文件内部位置指针的函数主要有两个,即 rewin...
2018-11-29 10:40:02 2343
原创 C语言文件的打开与关闭
C语言文件的打开与关闭在C语言中,文件操作都是由库函数来完成的。文件的打开(fopen函数)fopen() 函数用来打开一个文件,它的原型为:FILE *fopen(char *filename, char *mode);filename为文件名(包括文件路径),mode为打开方式,它们都是字符串。fopen() 会获取文件信息,包括文件名、文件状态、当前读写位置等,并将这些信...
2018-11-29 10:39:58 6039
原创 基于机器视觉的冲压金属瓶质量检测
基于机器视觉的冲压金属瓶质量检测冲压金属瓶质量,这个在五金件的冲压行业里通常都有要求。冲压出来的金属瓶体不能有变形、破损、位置不正等情况出现。冲压良好的产品工业光源对于这种产品,因为可能出现的瓶体有很多类型,不同的大小、深浅等,因此可能同一款光源并不一定能适用多种产品。因此只能尝试使用一款光源能够尽量多的检测品种。可以考虑使用比较高角度的环形光源,需要考虑比较大尺寸的环形光源,...
2018-11-28 23:14:23 469
原创 基于机器视觉的曼秀雷敦洗发水瓶印刷缺陷检测
基于机器视觉的曼秀雷敦洗发水瓶印刷缺陷检测曼秀雷敦洗发水瓶、沐浴露瓶、护肤品瓶等印刷缺陷检测,这个属于外观缺陷检测。在一些高端的产品上,是会经常见到的。不只是洗发水瓶,其它的一些瓶瓶罐罐也会有这样的检测需要。工业光源对于这种产品,像上面两个大瓶,是扁平状的。可以考虑使用两根条形光源来照明。这样就可以在印刷面形成一个相对比较均匀的照明区域。方便做图像处理。而对于后面的两个图片,则是圆...
2018-11-28 23:13:25 905
原创 基于机器视觉的IC表面字符检测
基于机器视觉的IC表面字符检测IC表面字符识别,这个在半导体行业里是经常遇到的视觉检测应用项目。一般需要检测其型号、批号等内容。丝印外观可能会比较少检测,要求没有这么高。低角度环形光源工业光源对于这种IC上的字符,主要有两种方式。一种是丝印的,另一种则是蚀刻的。对于本方案,则是蚀刻的阴文。对于丝印的,一般都是黑底白字,打光很容易的。常规的环形光源、条形光源都可以实现。而对于蚀刻...
2018-11-28 23:05:04 1694
原创 基于机器视觉的电容表面字符检测
基于机器视觉的电容表面字符检测电容表面字符检测,这个和IC表面字符检测要求基本类似,主要也是判断批号、料号、型号等内容。电容表面字符-低角度环形光源-高亮工业光源项目字符同样是使用蚀刻的阴文,可以考虑使用低角度的环形光源进行高亮特征照明,如RL-9600-W这样的光源。而想要使用高角度的暗特征照明,则不是很理想,如上面的图像的同轴光源照明,效果就不理想。这个是因为电容表面并不是...
2018-11-28 23:04:17 1040
原创 基于机器视觉的马达孔直径中心距、齿数线序测量
基于机器视觉的马达孔直径中心距、齿数线序测量马达上的四个测量要求。相对来讲,还是比较容易的。工业光源本方案可以考虑使用环形光源,如低角度RL-7430-W环形光源。这里需要控制照明亮度,将孔表现清晰的同时,需要将齿数表现清晰,同时线的颜色也要表现清晰。照明不能太亮,容易把线的颜色遮盖掉;也不能太暗了,否则齿表现不清晰。可以考虑使用常规的模拟调光器APS-2424-1CH或迷你调...
2018-11-28 23:03:35 584
原创 基于机器视觉的细小金属件表面污渍检测
基于机器视觉的细小金属件表面污渍检测如今的电子零件越来越细小,很多小零件可能都是零点几毫米的大小,而里面的某些尺寸,可能都是纳米级别的。就如现在的CPU等制程都是10nm级别的了。所以这里,对于这些细小零件的表面检测,与一般的大产品检测会有所不同。主要是视野不同,一般的装备是满足不了这种要求的。本视觉解决方案介绍的就是不足1mm的小零件表面的污渍等检测。工业光源因为产品非常小,所以...
2018-11-28 23:02:46 2940
原创 基于机器视觉的滑块检测
基于机器视觉的滑块检测 滑块Slider检测,是在一些电磁产品上的一些小零件,主要检测尺寸、间距、定位之类的。如下图所示,是不同倍率下的滑块成像效果:工业光源对于这种产品,相对比较小,所以可以使用多种类型的光源来打光,如条形光源,像BL-9019-W,环形光源RL-7060-W这样的,都可以尝试,效果应该都还可以。这种产品可以打成两种效果,一种是明场效果,另一种是暗场效果。可以...
2018-11-28 23:02:05 468
原创 基于机器视觉的电阻焊接质量检测
基于机器视觉的电阻焊接质量检测电阻焊接质量检测,如下图所示,在两个针脚之间会焊接一个电阻。对这个电阻的位置姿态需要进行判断,同时电阻本身不能焊坏、焊裂、变色等。OK产品工业光源上图是使用环形光源RL-5060-W拍摄的效果图。从图像中看到,其实对比度并不算是特别明显,可能会有更好的光源效果。不过此类产品,照明并不是很好处理。可以考虑使用常规的模拟调光器APS-2424-1C...
2018-11-28 23:01:27 905
原创 基于机器视觉的铁片轮廓检测
基于机器视觉的铁片轮廓检测铁片轮廓检测,还是比较容易落实的,主要是看检测精度。如果精度要求不高的话,很简单,如果精度要求的话,就需要提高一点硬件成本。当然,还是要看产品的具体大小,如果超出现有的硬件极限,那就要使用多相机或分割拍摄,这样做起来相对麻烦一点。工业光源轮廓检测,如果没有安装限制的话,直接使用背光源进行拍摄,可以使用常规的面光源。如果精度要求比较高,则建议使用平行光源。...
2018-11-28 23:00:33 623
原创 基于机器视觉的线圈检测
基于机器视觉的线圈检测线圈检测,一般会考虑检测有无断线、有无乱线、焊点好坏、线数量等。具体的需要看项目本身要求。工业光源如上图,为使用环形光源或圆顶无影光源得到的效果图。具体要看测量什么要求,然后考虑使用相应的光源。当然有些要求,可能无法利用机器视觉的方式进行测量。可以考虑使用常规的模拟调光器APS-2424-1CH或者是迷你调光器MAPS-2424-1CH。如果是在高速拍照需...
2018-11-28 22:58:59 828
原创 C语言位运算
C语言位运算所谓位运算,就是对一个比特(Bit)位进行操作。在《二进制思想以及数据的存储》一节中讲到,比特(Bit)是一个电子元器件,8个比特构成一个字节(Byte),它已经是粒度最小的可操作单元了。C语言提供了六种位运算符: 运算符 & | ^ ~ <&l...
2018-10-18 22:03:48 1031
原创 C语言位域
C语言位域有些数据在存储时并不需要占用一个完整的字节,只需要占用一个或几个二进制位即可。例如开关只有通电和断电两种状态,用 0 和 1 表示足以,也就是用一个二进位。正是基于这种考虑,C语言又提供了一种叫做位域的数据结构。在结构体定义时,我们可以指定某个成员变量所占用的二进制位数(Bit),这就是位域。请看下面的例子:struct bs{ unsigned m; u...
2018-10-18 20:39:15 217
原创 C语言枚举类型(Enum)
C语言枚举类型(Enum)在实际编程中,有些数据的取值往往是有限的,只能是非常少量的整数,并且最好为每个值都取一个名字,以方便在后续代码中使用,比如一个星期只有七天,一年只有十二个月,一个班每周有六门课程等。以每周七天为例,我们可以使用#define命令来给每天指定一个名字:#include <stdio.h>#define Mon 1#define Tues 2...
2018-10-18 19:59:32 1977
原创 C语言结构体数组
C语言结构体数组所谓结构体数组,是指数组中的每个元素都是一个结构体。在实际应用中,结构体数组常被用来表示一个拥有相同数据结构的群体,比如一个班的学生、一个车间的职工等。定义结构体数组和定义结构体变量的方式类似,请看下面的例子:struct stu{ char *name; //姓名 int num; //学号 int age; //年龄 c...
2018-10-18 19:50:54 2705
原创 C语言结构体和指针
C语言结构体和指针指针也可以指向一个结构体,定义的形式一般为:struct 结构体名 *变量名;下面是一个定义结构体指针的实例:struct stu{ char *name; //姓名 int num; //学号 int age; //年龄 char group; //所在小组 float score; //成绩} s...
2018-10-18 19:47:14 681
原创 C语言结构体(Struct)
C语言结构体(Struct)在C语言中,可以使用结构体(Struct)来存放一组不同类型的数据。结构体的定义形式为:struct 结构体名{ 结构体所包含的变量或数组};结构体是一种集合,它里面包含了多个变量或数组,它们的类型可以相同,也可以不同,每个这样的变量或数组都称为结构体的成员(Member)。请看下面的一个例子:struct stu{ char *...
2018-10-18 18:11:39 1836
原创 C语言格式化读写文件
C语言格式化读写文件fscanf() 和 fprintf() 函数与前面使用的 scanf() 和 printf() 功能相似,都是格式化读写函数,两者的区别在于 fscanf() 和 fprintf() 的读写对象不是键盘和显示器,而是磁盘文件。这两个函数的原型为:int fscanf ( FILE *fp, char * format, ... );int fprintf ( ...
2018-10-18 17:45:47 696
原创 C语言typedef:给类型起一个别名
C语言typedef:给类型起一个别名C语言允许为一个数据类型起一个新的别名,起别名的目的不是为了提高程序运行效率,而是为了编码方便。例如有一个结构体的名字是 stu,要想定义一个结构体变量就得这样写:struct stu stu1;struct 看起来就是多余的,但不写又会报错。如果为 struct stu 起了一个别名 STU,书写起来就简单了:STU stu1;这种写法更...
2018-10-18 17:33:10 2555
原创 C语言const:禁止修改变量的值
C语言const:禁止修改变量的值有时候我们希望定义这样一种变量,它的值不能被改变,在整个作用域中都保持固定。例如,用一个变量来表示班级的最大人数,或者表示缓冲区大小。为了满足这一要求,可以使用const关键字对变量加以限定:const int MaxNum = 100; // 班级的最大人数这样 MaxNum 的值就不能被修改了,任何对 MaxNum 赋值的行为都将引发错误:M...
2018-10-18 16:34:00 1060
原创 C++中判断某一文件或目录是否存在
C++中判断某一文件或目录是否存在方法1. C++中较简单方法(使用文件流打开文件)#include <iostream>#include <fstream> using namespace std; #define FILENAME "*.dat" // 指定文件名 int main( void ){ fstream ...
2018-09-13 22:28:16 3495
原创 转义字符
转义字符转义字符的初衷是用于ASCII编码,所以它的取值范围有限:八进制形式的转义字符最多后跟三个数字,也即\ddd,最大取值是\177; 十六进制形式的转义字符最多后跟两个数字,也即\xdd,最大取值是\7f。超出范围的转义字符的行为是未定义的,有的编译器会将编码值直接输出,有的编译器会报错。对于ASCII编码,0~31(十进制)范围内的字符为控制字符,它们都是看不见的,不能在显...
2018-09-13 22:17:52 4069
原创 GCC编译器简明教程(Linux下C语言开发环境的搭建)
GCC编译器简明教程(Linux下C语言开发环境的搭建)市面上常见的Linux都是发行版本,典型的Linux发行版包含了Linux内核、桌面环境(例如GNOME、KDE、Unity等)和各种常用的必备工具(例如Shell、GCC、VIM、Firefox等),国内使用较多的是CentOS、Ubuntu(乌班图)、Debian、Redhat等。Linux主要应用于各种服务器(例如网站服务器、数...
2018-09-13 21:49:59 65528
原创 Visual Studio 2017下载地址和安装教程(图解版)
Visual Studio 2017下载地址和安装教程(图解版)Visual Studio 2017不仅支持C#、C++、Python、Visual Basic、Node.js、HTML、JavaScript等各大编程语言,还能开发 iOS、Android 的移动平台应用,Visual Studio 2017 甚至还自带了iOS模拟器(之前为MAC独享的开发环境)。Visual Studi...
2018-09-13 21:40:18 255564 2
原创 IDE相关概念
IDE相关概念1) 源文件(Source File)在开发软件的过程中,需要将编写好的代码(Code)保存到一个文件中,这样代码才不会丢失,才能够被编译器找到,才能最终变成可执行文件。这种用来保存代码的文件就叫做源文件(Source File)。每种编程语言的源文件都有特定的后缀,以方便被编译器识别,被程序员理解。源文件后缀大都根据编程语言本身的名字来命名,例如:C语言源文件的后缀...
2018-09-13 21:32:01 492
原创 ASCII编码
ASCII编码字符集为每个字符分配一个唯一的编号,类似于学生的学号,通过编号就能够找到对应的字符。可以将字符集理解成一个很大的表格,它列出了所有字符和二进制的对应关系,计算机显示文字或者存储文字,就是一个查表的过程。在计算机逐步发展的过程中,先后出现了几十种甚至上百种字符集,有些还在使用,有些已经淹没在了历史的长河中,本节我们要讲解的是一种专门针对英文的字符集——ASCII编码。拉丁字...
2018-09-13 21:27:15 2368
原创 数据在内存中的存储
数据在内存中的存储计算机要处理的信息是多种多样的,如数字、文字、符号、图形、音频、视频等,这些信息在人们的眼里是不同的。但对于计算机来说,它们在内存中都是一样的,都是以二进制的形式来表示。要想学习编程,就必须了解二进制,它是计算机处理数据的基础。内存条是一个非常精密的部件,包含了上亿个电子元器件,它们很小,达到了纳米级别。这些元器件,实际上就是电路;电路的电压会变化,要么是0V,要么是...
2018-09-13 21:21:23 223
原创 进制转换:二进制、八进制、十六进制、十进制之间的转换
进制转换:二进制、八进制、十六进制、十进制之间的转换不同进制之间的转换在编程中经常会用到,尤其是C语言。将二进制、八进制、十六进制转换为十进制二进制、八进制和十六进制向十进制转换都非常容易,就是“按权相加”。所谓“权”,也即“位权”。假设当前数字是N进制,那么:对于整数部分,从右往左看,第i位的位权等于Ni-1对于小数部分,恰好相反,要从左往右看,第j位的位权为N-j。...
2018-09-13 21:16:56 153102
原创 二进制、八进制和十六进制
二进制、八进制和十六进制进制也就是进位制。进行加法运算时逢X进一(满X进一),进行减法运算时借一当X,这就是X进制,这种进制也就包含X个数字,基数为X。十进制有0~9共10个数字,基数为10,在加减法运算中,逢十进一,借一当十。二进制我们不妨将思维拓展一下,既然可以用0~9共十个数字来表示数值,那么也可以用0、1两个数字来表示数值,这就是二进制(Binary)。例如,数字0、1、10、...
2018-09-13 20:56:43 839
ePub Reader for Windows.zip
2019-12-23
WinRing0_1_3_1b.zip
2019-06-14
WS2_32库(Win32+Win64)
2019-01-07
Iocomp ActiveX 402SP1
2018-06-28
MATLAB_2017b(删除“.txt”)
2017-12-22
modbuspp-master
2017-12-18
CvvImage.h和CvvImage.cpp
2017-11-04
inttypes.h+stdint.h
2017-10-31
基于OPC规范的客户应用程序实现
2017-08-28
正则表达式 VC
2013-06-01
C++ GUI Programming with Qt 4
2013-05-22
SKINS++ FOR VC
2013-05-20
专业工控控件IOCOMP简介
2013-05-20
VC下配置Halcon
2013-05-16
VS2008 C#下HALCON环境配置
2013-05-16
protobuf-3.15.6(Debug).zip
2021-03-27
protobuf-3.15.6(Release).zip
2021-03-27
cmake-3.19.1-win64-x64.zip
2020-12-16
opencv_contrib-4.4.0.zip
2020-07-21
opencv-4.4.0.zip
2020-07-21
opencv-4.3.0.zip
2020-04-26
opencv_contrib-4.3.0.zip
2020-04-26
ippicv_2020_win_intel64_20191018_general.zip
2020-04-07
ippicv_2020_lnx_intel64_20191018_general.zip
2020-04-07
cpu-z_1.91-cn.exe
2020-01-06
FBReaderSetup-0.12.10.zip
2019-12-24
PDFSplitter.zip
2019-12-22
PDFBinder.zip
2019-12-22
PDFCreator.zip
2019-12-22
Kalman Filtering Theory and Practice Using MATLAB (2015, 4th).pdf
2019-12-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人