自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

C_to_OOP的博客

笔记本

  • 博客(22)
  • 收藏
  • 关注

原创 常见的图像处理思路

常见的图像处理思路对待检测物体的定位1.对彩色图像处理有两种思路: 1)分离图像的通道后进行处理,再进行二值化; 2)将图像直接二值化后再处理3.为了处理噪点,将上面处理的图片先进行腐蚀处理再进行膨胀处理4.获取图片的轮廓,并找到边界的像素点集,依据待寻找的方向找到合适的点,上边界对应者像素点点集中纵坐标最小的值Y0,右边界则对应的是横坐标最大的值X0,下边界对应的...

2018-04-13 10:02:23 889

原创 使用C++ STL需要注意的事项

使用C++ STL需要注意的事项使用STL中map、stack、array等,必须要添加 using namespace std; 不然就会报错,比如XX未声明的标识符等错误。

2017-11-07 15:56:03 445

原创 解决:error C2276:“&”: 绑定成员函数表达式上的非法操作

在VS2013中,遇到了ERROR C2276的报错,报错指向了一个BOOL类型的变量,因为其是用表示状态的作用,需要将该变量声明在类的外部,充当全局变量的作用。选中报错的变量,摁F12寻找其定义,发现指向了两个地方,一个是BOOL类型的变量,另一个是相同名字的函数,找到了问题的,所在改变其中两个中的任意一个的名字,再次编译,顺利通过。以上

2017-10-23 11:20:31 7698

原创 UML学习1

UML定义了一组面向对象软件系统的可视化建模符号。其中类用方框表示,具体如下————————————————————————|      ||类      名    ||                                                                                     |———————————

2017-10-19 10:22:04 297

原创 解决:OPC客户端建立异步回调出现的异常

因为工作需要接触了OPC通信协议的项目,在开发客户端的时候,写的断开连接的功能块出现了问题。具体来说,是通过CComObject类进行建立异步回调,进而建立与OPC服务器的连接,而在断开服务器的时候,会出现以下报错:中断程序后,在DEBUG的模式下,程序停在了atlcom.h文件下的virtual ~CComObject() throw()类中的_pAtlModule->Unlock(

2017-10-18 10:39:42 3827

原创 解决:ERROR C2470:"XXX" 看起来像函数定义,但没有参数列表;跳过明显的函数体

因项目需要自己封装了一个MFC的拓展DLL文件,在测试使用这个DLL的时候,编译过程中出现ERROR C2470的报错提示信息,,双击报错信息,指向了我在dll工程中定义的一个头文件(这里需要说明一下的是,我是将一个类封装为DLL的),即类的声明部分,如下:class OPCLIB_EXT_CLASS CWrapper{ //实现具体功能}右键OPCLIB_EXT_CLASS,查找

2017-10-14 15:58:52 3135

原创 【解决方法】未申明的标识符,查找定义时出现解析多义性

时常会遇到这样的情况,在你编译工程文件的时候遇到这样的报错 |error C2065: "xxx";未声明的标识符| ,很奇怪,明明把包含该定义的头文件已经添加进工程中了,然后选中报错的地方摁F12,咦?怎么出现了解析多义性的弹窗,出现了多条相同名字的来源选项。遇到上述情况,不要慌,出错的原因其实很简单,你只是未在使用该报错变量或者函数的cpp文件中引用对其定义的头文件,故只需在源码的开头incl

2017-10-12 10:01:04 1411

原创 解决:CBitmapButtion在debug情况下,出现debug assertion failed的问题

在项目开发中,为了使得界面的UI美观一些,使用了CBitmapButton,但是出现了很奇怪的问题,在进行DEBUG的时候,总是弹出debug assertion failed的错误弹窗,而在RELEASE中可以正常运行,究其原因,可知源码中必然是出现问题的,在CBitmapButton类使用注意事项(主要是AutoLoad)文章中,我发现了我代码中出现的问题。在创建CBitmapButton

2017-09-19 14:27:15 766

原创 解决0x00000FD:Stack overflow(参数:0x00000000,0x002F2000)栈溢出问题

因为项目需要,在做测试的时候需要读取一个将近100MB的文件到内存上,故而在程序的开头使用define定义了一个常量,其值为104857600(100MB=104857600B),然而在进行调试的时候出现了栈溢出的报错,后期进过测试原本系统定义的栈过小。故而我采取了一下的方法修改栈的空间大小:项目属性-》配置属性-》链接器-》系统,将“栈保留大小”、“堆提交大小”、“堆栈保留大小”和“堆栈提交

2017-09-01 11:45:50 4282 1

原创 MSComm控件需要注意事项

在工业项目中,涉及到电脑与设备之间通信,不可避免的会用到串口。利用VC++开发这种可视化的上位机软件,可以利用Win API、第三方函数库以及MFC提供的串口控件MSComm。其中最简单的方法要数MSComm控件了,因为网上关于它的用法太多了,这里就不讲了,只是总结一下我自己在实际开发项目中遇到的问题并给出解决办法,希望能让各位网友少走弯路。遇到的问题大致是这样的,项目中要实现这样一个功能,一

2017-08-28 15:58:56 432

转载 解决winpcap中“error LNK2019: 无法解析的外部符号”的报错问题

在学习获取已安装设备的高级信息教程中,按照文中给出的程序在VS2013下进行编译,出现了如下报错:在关于 error LNK2019 无法解析的外部符号求助帖中,找到了很好的解决办法,在预编译中加入如下的代码:#pragma comment(lib,"wpcap.lib")#pragma comment(lib,"ws2_32.lib")即可解决问题。以上。

2017-08-22 15:51:27 1534 1

原创 解决“error C3861: “pcap_findalldevs_ex”: 找不到标识符”以及“error C2065: “PCAP_SRC_IF_STRING”: 未声明的标识符”问题

在学习 获取设备列表 章节的时候,遇到了以下的报错:1.error C3861: “pcap_findalldevs_ex”: 找不到标识符2.error C2065: “PCAP_SRC_IF_STRING”: 未声明的标识符在WinPcap编程调试解决办法 中,找到了相对应的解决方法,即在程序的开头部分加入remote-ext.h的头文件,同时,需要项目属性-》配置属性-》C/C+

2017-08-22 14:26:48 3632 1

原创 解决error C1083: 无法打开包括文件: “sys/time.h”的问题

因公司项目需要,接触并学习WinPcap开发,经网上推荐按照WinPcap教程:循序渐进教你使用WinPcap学习,但是在第一章节的时候就遇到了error C1083: 无法打开包括文件: “sys/time.h”: No such file or directory这个错误,点击报错提示进入了pcap.h的头文件中,并将错误指向如下的代码:#if defined(WIN32) #

2017-08-22 14:03:27 11462 2

原创 解决Run-time error '-2147467261'(80004003)

本人在win7环境下编译并打包的一个程序,在XP下运行,结果弹出上述错误。通过在网络上的查找得到这个报错的意义,通过ADO连接数据库失败。那么数据库连接失败的原因有哪些?我觉得可以分成两大类,第一种是人为因素即数据库地址或者账户及密码填写错误;另一种是系统因素,即可能系统文件的错误。其实原因是ado中的一个dll文件版本的问题

2017-08-18 12:22:04 5574

原创 解决在VC++6.0中遇到GetPrivateProfileIntA读值错误的问题

最近在给一个VC++6.0中开发的MFC项目中添加一个串口通信的功能,而为了让串口在程序初始化的过程中就开始工作,必须在将串口写到初始化的函数中,这样遇到了一个矛盾,就是该串口的参数配置就固定不变了,这样对后期软件改进方面不利,故而需要用到配置文件对其进行配置。在这里,因为仅需要配置串口号,我在这里使用的是GetPrivateProfileInt函数,实现代码如下: int comPo

2017-08-18 11:50:07 2256

原创 win10安装VC++6.0

最近在接到一个项目,客户的软件是2001年开发的,需要用VC++6.0,而工作的笔记本上运行的是win10系统。在最新的操作系统跑二十年前(VC++6.0发行于1998年)推出的开发工具,我心里难免有些打鼓,

2017-08-17 16:15:01 1199

原创 同样的程序每次运行的时间不一样

最近在MFC开发过程中,遇到一个问题,即运行一段程序需要对其进行计时,不能保证每个同时开始的程序或者说是每个同时开始的线程同时结束。测试的时候,为了找到原因,我让线程上跑的程序时间复杂度都保持一致,且未设置优先级,然而同时开始却依旧不能同时结束,或者说差距比较小的同时结束。最后我尝试了一种更加极端的测试,即同一段程序让其运行,看看运行时间是否一致,为了保证测试的精度,我定时器选择的是QueryPe

2017-08-04 14:08:42 11609 1

原创 两类DIB图片需要辨析的地方

在做通过鼠标设置ROI并对其进行阈值化功能的时候,发现处理的图像区域总是与我用鼠标设置的区域上下颠倒,源代码如下: for (UINT i=rc.bottom; i<rc.top; i++) { for (UINT j=3*rc.left; j<3*rc.right; j=j+3) { //在BMP图片中颜色顺序为BGR //color=red*0.299+g

2017-08-02 08:59:20 548

原创 MFC学习笔记之常见控件

Windows系统下的应用是消息映射机制来处理消息的,应用程序中的控件也是如此,每个控件都有对应的消息事件。当然处理事件是需要开发者,自行去创建的。在消息映射机制中,消息包含三个参数:消息值、wParam参数和IParam参数。控件的消息映射宏的格式大致是 ON_消息码(控件ID,消息处理函数名)。具体的可以查阅MSDN文档和之前写的博客。下面开始介绍几种常见的控件。0x00静态文本框

2017-07-27 13:43:08 564

原创 解决错误error C2664: “CPropertySheet::AddPage”: 不能将参数 1 从“CAddendPage *__w64 ”转换为“CPropertyPage *”

在学习鸡啄米编写的《VS2010/MFC编程入门之十四(向导对话框的创建及显示)》的博文时,运行在VS2005上的时候,出现了一个错误,具体报错如下图所示。其报错指向下图所示的代码区域(报错的代码已经用黄色标注出来)经检查是因为未在CAddendPage这个类中重写OnSetActive()函数的原因,添加之后,软件运行正常。具体操作步骤如下:S1_打开顺序如下:资源视图-

2017-07-18 11:15:31 1339

原创 MFC学习笔记之对话框

0x00 数据交换和检验在MFC中,改变控件的属性,其会通过对话框类自动生成的成员函数DoDataExchange()来实现修改相应关联的变量的值。这种现象称为对话框的数据交换和检验机制。需要注意的是,在该机制下DoDateExchange()并不是被自动调用,需要开发者在程序中调用CDialogEx::UpdateData()函数,再由其自动调用DoDataExchange()函数。Up

2017-07-17 15:00:53 498

原创 MFC学习笔记之消息映射机制

0x00 windows应用程序都是消息驱动,其中MFC,其界面操作或者线程间通信是通过处理消息实现相应的操作,如用户在操作窗口时会产生消息,将其送给窗口的消息处理函数,对用户的操作做出对应的响应。0x01 消息MFC的窗口消息含三个部分:1_消息值(一个无符号整数,经常被定义为宏)2_消息附带的WPARAM类型的参数3_消息附带的LPARAM类型的参数wi

2017-07-17 13:08:51 455

空空如也

空空如也

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

TA关注的人

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