- 博客(30)
- 资源 (6)
- 收藏
- 关注
原创 基于实际项目的应用
视觉项目研发相关结点与注意事项1、以下文件需要改名(wrong->right):.sln、.vcxproj、.filters、.user、.json(Qtplugin自动生成)、工程所在文件夹、wrong.h、wrong.cpp;2、以下文件需要通过文本编辑器打开修改内容(wrong->right):.sln、.vcxproj、.......
2022-07-11 13:47:23
249
转载 opencv 标定与畸变矫正
【OpenCV】摄像机标定+畸变校正 摄像机标定本文目的在于记录如何使用MATLAB做摄像机标定,并通过OpenCV进行校正后的显示。首先关于校正的基本知识通过OpenCV官网的介绍即可简单了解: http://docs.opencv.org/2.4/doc/tutorials/calib3d/camera_calibration/camera_calibration.html...
2018-11-06 15:00:47
1547
原创 Gdiplus 双缓冲显示图片
HDC hdcPreview = ::GetDC(hwndPreview);//设备dc Gdiplus::Graphics tp_graphics(hdcPreview);//1.直接绘制 //tp_status_return = tp_graphics.DrawImage(&tp_bitmap_showImage,tp_GdiRect);/*2.双缓冲绘制...
2018-10-31 10:31:11
769
转载 MFC多语言实现
方法一:动态加载英文资源的DLL首先我们的把工程属性下的“MFC的使用”设置成为“在共享DLL中使用MFC”,如下图所示:这样我们待会就可以把英文资源的DLL给动态加载进来了,不然后面DLL是不能动态加载进来的。第二步我们就需要制作英文资源的DLL了,打开工程的资源视图,资源里的所有元素都插入一个英文版的副本,如下图所示:在弹出来的对话框中语言选择为英文(美国),如下图所示:把...
2018-10-22 10:08:40
469
原创 关于MFC中调试过程中的运行时断言
当出现如debug assertion failed wincore.cpp Line:338 等类型的弹窗错误时,进行如下操作找到错误的函数调用,Debug下打开call stack,看函数调用堆栈,先找到出错的函数调用。跟进wincore.cpp中出错那行代码,分析是否某个资源绑定的错误。...
2018-10-22 10:07:23
630
转载 PreSubclassWindow的作用
要了解PreSubclassWindow的作用,首先应了解什么是“子类化控件”。“子类化控件”或称“接管控件”,它是将对话框上子窗口(控件)的消息处理函数(窗口过程函数)替换成对应的C++对象的消息处理函数的动作。 举个例子了来阐明一下:例如你需要一个只接受数字输入的文本编辑框,如果使用对话框资源工具箱上的Edit控件,当用户输入数字以外的字符时,你既不知道也无计可施。也就是说,当用户在编...
2018-10-22 10:04:13
1184
原创 MFC中Unicode下CString与string转换
转换:(1)如果在MFC的UNICODE环境下,两者转换比较麻烦:CString转string//方法一CString theCStr;std::string STDStr( CW2A( theCStr.GetString() ) );//方法二CString m_Name;CT2CA pszName(m_Name);std::string m_NameStd(pszNa...
2018-09-03 13:23:29
2378
转载 InitCommonControls
InitCommonControls和InitCommonControlsEx 从Win95开始,Windows提供了一些新的Win32控件,称为通用控件. 如:Toolbar,Status bar,Tree view,List view,Animation,Hot-key,Image list,Tab等等.这些控件的可执行代码都放在comctl32.dll中.要使用通用控件,必须加载co...
2018-08-27 09:26:18
1543
翻译 class 总结
C++中使用关键字 class 来定义类, 其基本形式如下:class 类名{public://行为或属性 protected://行为或属性private://行为或属性}; 示例: 定义一个点(Point)类, 具有以下属性和方法: ■ 属性: x坐标, y坐标 ■ 方法: 1.设置x,y的坐标值; 2.输出坐标的信...
2018-08-17 10:50:40
207
原创 使用系统时间作为文件名
char chName[MAX_PATH]; memset(chName,0x00,MAX_PATH); time_t now=time(NULL); struct tm *ptr; ptr = localtime(&now); char strTime[60]; strftime(strTime,60,"%Y%m%d%H%M%S",...
2018-08-16 11:51:44
743
原创 std::string 含义
std::string指的是C++ Std命名空间下面的string类。和这种用法一样:using namespace std;string str;str = "haha";
2018-08-07 14:13:07
1235
原创 类的作用域
默认情况下,在class关键字定义的类中,第一个作用域限定词(public、private、 protected )出现之前的成员变量或方法都是private的。而在用struct关键字定义的类中,第一个限定词出现之前的成员变量和方法都是public的。两个作用域限定词之间的成员变量和方法都是被前一个限定词限制的。...
2018-08-07 14:09:46
1038
原创 const std::string getEvent() const{ return _event; }
第一个const const std::string 用于表述std::string 类型,第二个const 表示getEvent不会修改调用者的数据
2018-08-07 14:05:55
397
转载 Observable
在介绍 Observable 之前,我们要先了解两个设计模式: Observer Pattern - (观察者模式) Iterator Pattern - (迭代器模式) 这两个模式是 Observable 的基础,下面我们先来介绍一下 Observer Pattern。OBSERVER PATTERN观察者模式定义观察者模式是软件设计模式的一种。在此种模式中,一...
2018-08-02 11:40:04
253
原创 C++中,模板类的实现放在.h中的原因
C++标准明确表示,当一个模板不被用到的时侯它就不该被实例化出来; 模板定义很特殊。由template<…> 处理的任何东西都意味着编译器在当时不为它分配存储空间,它一直处于等待状态直到被一个模板实例告知。在编译器和连接器的某一处,有一机制能去掉指定模板的多重定义。所以为了容易使用,几乎总是在头文件中放置全部的模板声明和定义。"对C++编译器而言,当调用函数的时候,编译器只...
2018-08-02 11:25:44
1316
转载 为什么使用AfxSocketInit()
一般来说 WASAtarup() 是应用程序调用的windows sockets dll的第一个函数,在调用任何winsock api之前,必须调用wsastartup()进行初始化,最后调用WSACleanup()做清理工作. 也就是 wsastartup 与 wsacleanup 要配对使用. MFC中的函数 AfxSocketInit() 包装了函数 WSAStartup()...
2018-07-30 11:25:27
568
转载 MFC中ShellManager的使用
简单的介绍一下,windows shell就是可以使编写的程序与系统关联(如快捷方式,托盘图标等),管理系统资源(如文件,文件夹等)的编程方式。在说的简单一点,就是通过编程控制windows系统的各种行为以及外观,对windows系统进行各种操作和设置。在windows中的所有资源,主要是文件和文件夹,在windows中是通过shell名字空间来管理,windows系统的每个文件和文件夹都在she...
2018-07-27 17:49:47
376
转载 动态实现多国语言切换 RC方法
动态多国语言的切换目前大多采用的是动态加载资源DLL, 每一个资源DLL中包含了一份对应某一语言的字符串表, 但这种方法的缺点就是需要为每一种语言都要做一个DLL,程序安装时资源DLL过于繁多。下面我们将所有的多国语言资源都封装在一个动态库中,然后通过SetThreadLocale() API来实现动态切换多国语言。首先我们要创建多国语言的RC,这一步至关重要,为了能支持多国语言,我们必须安装...
2018-07-27 16:33:05
1478
原创 通过加载动态dll方法实现多语言切换
本文以emule为例,探讨一下多国语言支持的实现。选择emule,因为它的多国语言支持实现的相当好,可以支持动态切换。而且最关键,它是开源的,可以直接通过源码来研究它的实现技术。 emule是利用动态加载资源DLL来实现多语言切换的,每一个资源DLL中包含了一份对应某一语言的字符串表。在源码的srchybrid/lang 路径上可以发现一个lang解决方案,其中包含了差不多40个项目,每...
2018-07-27 16:27:44
1089
转载 VS2013/MFC编程入门之三十一(常用控件:标签控件Tab Control )
Tab Control,也可以称为选项卡控件。 标签控件简介 标签控件也比较常见。它可以把多个页面集成到一个窗口中,每个页面对应一个标签,用户点击某个标签时,它对应的页面就会显示。 使用标签控件我们可以同时加载多个有关联的页面,用户只需点击标签即可实现页面切换,方便灵活的进行操作。每个标签除了可以显示标签文本,还可以显示图标。 ...
2018-07-27 14:16:30
697
原创 MFC TabSheet 源码
.h#if !defined(AFX_TABSHEET_H__42EE262D_D15F_46D5_8F26_28FD049E99F4__INCLUDED_) #define AFX_TABSHEET_H__42EE262D_D15F_46D5_8F26_28FD049E99F4__INCLUDED_ #if _MSC_VER > 1000 #pragma once ...
2018-07-26 10:38:47
3801
6
原创 工业视觉 六 图像降噪及3D降噪
图像降噪的本质是:从图像中去掉无关的信号。假设噪音性质:平均值为零;则可以对像素点周围像素取平均值。降噪问题(这里只讨论additive noise),用最简单的数学语言一句话就可以描述清楚:y = x + ey是你观察到的带噪音的图像,e是噪音,x是干净无噪音的图像。只已知y,外加e的概率分布,降噪问题需要你去寻找最接近真实值的x。 一般图像去噪中常见的噪声有以下几种:...
2018-07-25 14:08:07
3385
转载 工业视觉 工业相机50问
视觉工程师必须知道的工业相机50问,绝对干货!工业机器人培训 2017-10-24 机器人视觉应用,是指南车标准课程之一,更多精彩课程,请继续关注我们。1:工业相机的丢帧的问题是由什么原因引起的?经常会有一些机器视觉工程师认为USB接口的工业相机会造成丢帧现象。一般而言,工业相机丢帧与工业相机所采用的传输接口是没有关系的,无论是USB,还是1394、GigE、或者是Camera...
2018-07-25 13:27:59
891
原创 工业视觉 五 频闪及抑制频闪
1何谓频闪日常使用的普通光源如白炽灯、日光灯、石英灯等都是直接用220/50Hz交流电工作,每秒钟内正负半周各变化50次,因而导致灯光在1秒钟内发生100(50×2)次的闪烁,再加上市电电压的不稳定,灯光忽明忽暗,这样就产生了所谓的“频闪”。下表显示了几种光源的光强波动情况:因为人眼对光强变化有一定的迟滞和适应性,所以通常看不出光源的亮度变化。但是依然还是会增加...
2018-07-25 11:42:10
3936
原创 工业视觉 四 曝光与增益 、伽马、饱和度、对比度、锐度、黑电平
曝光 和 增益 是直接控制传感器(CCD/CMOS)上读出来的数据,是要优先调节的,以调节曝光时间为主。不过曝的前提下,增加曝光时间可以增加信噪比,使图像清晰。软件上有个选项可以把过曝的区域显示出来。当然,对于很弱的信号,曝光也不能无限增加,因为随着曝光时间增加,噪音也会积累。所谓冷CCD就是靠降温减少噪音,从而可以长时间曝光拍摄弱信号。增益一般只是在信号弱,但不想增加曝光时间的情况下使用。...
2018-07-25 11:00:31
17065
原创 工业视觉 三 白平衡
1. 为何需要白平衡?讨论白平衡,那就要从色温(CCT)谈起,色温顾名思义就是色彩的温度,但是这个色温和我们一般所认知的冷色、暖色不同,它指的是一个绝对黑体(物理学家想象出来的)从绝对零度(-273℃)开始持续加温所呈现出来的颜色,譬如在炼钢炉里给一块铁加热,就会从黑->暗红->亮红->金黄,接着就融化了,因为铁的熔点是1535℃,所以更高温度的颜色就看不到。但从焊接用的火可...
2018-07-25 10:49:07
2234
转载 工业视觉 二 相机的自动曝光
一、自动曝光定义 首先需要介绍一下曝光:光线强度乘以光线所作用的时间。定义中的“光线强度”,是指Sensor受光线照射的强度,即照度;定义中的“光线所作用的时间”,是指感光胶片受光线照射的时间,即曝光时间。曝光量以E表示,计算单位就是勒克斯·秒。若要取得一定量的曝光量,则光强度越大,曝光时间越短;光强度越小,曝光时间越长。曝光是拍照最基本也是最重要的技术之一。下图是用从1.3秒到15秒...
2018-07-25 10:31:08
2827
1
转载 工业视觉 一 工业视觉初识
机器视觉系统是指用计算机来实现人的视觉功能,也就是用计算机来实现对客观的三维世界的识别。按现在的理解,人类视觉系统的感受部分是视网膜,它是一个三维采样系统。三维物体的可见部分投影到网膜上,人们按照投影到视网膜上的二维的像来对该物体进行三维理解。所谓三维理解是指对被观察对象的形状、尺寸、离开观察点的距离、质地和运动特征(方向和速度)等的理解。 机器视觉系统的输入装置可以是摄像机、转鼓等,它们...
2018-07-25 10:29:56
2531
转载 vs2008突然不能使用查找功能了
vs2008突然不能使用查找功能了(找不到要查找的文件 查找进行的过程中被停止)查找全部 "xxx", 大小写匹配, 全字匹配, 查找结果 1, "整个解决方案", "*.*" 找不到要查找的文件。 查找进行的过程中被停止。VS"Find in Files"失效的解决方法一:让VS窗口获得焦点,依次按以下快捷键Ctrl+Break
2017-01-20 16:50:54
287
go语言安装包-安装使用详解
2018-08-28
7zip解压缩压缩源码及使用示例dll
2015-06-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人