首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【CCD图像检测】3:图像的调试方法

    在嵌入式系统中摄像头调试的目的是使摄像头的机械和电气参数在满足系统要求下能产生质量最高的图像数据。一个涉及硬件和软件的成像系统,成像的质量好坏往往受到来自外界干扰和自身限制的很多因素的影响,这些影响会产生噪声和成像不均匀。来自软件层面的因素往往是算法的问题,这个层面的问题可以通过理论分析的数学计算解决,来自硬件层面的因素则而要用仪器进行调试,通过实验测量分析才能解决,由于硬件处理系统底层,所以硬件的质量会直接影响软件的质量,从而影响最终成像质量。对摄像头进行调试就是要从硬件层面上尽量消除干扰。同时,因为视频信号最后交给芯片后的信息就是一些数字量,这些表征图片信息的数字量对于程序的设计者来说是极其不直观的,这样会造成处理上的一些困难。合理利用好调试手段,对帮助用户发现硬件问题和直观再现数字图片以及一些参数的整定是极其有用的。

    03

    VC++编写ActiveX控件

    暑假在做一个项目的时候,本来是用C#.NET来写的一个港口进出闸的流程控制程序,里面涉及一个响应用PLC的采集信息的问题(PLC用串口和工控机相连接),然后思考如何用C#写串口通讯程序,结果师兄在一旁直接用VC++写了一个“*.ocx控件”,并在自己的电脑上进行了测试,完工后就把生成的“*.ocx”控件注册文件复制到了我们的电脑上。我们就在C#.NET程序里面将此控件拖入到主窗口中,然后就能直接利用此控件的事件来捕捉PLC的命令了,感觉好神奇。然后,我对C++的态度有了极大的转变,以前只知道C++写窗口程序是多么麻烦啊(远不如C#.NET来得快和直接),而它的所谓“比较底层,和底层操作系统的关系比C#这些高级语言要密切很多”的好处一直都没有体会到,现在才知道,正是因为C++比较底层,比较基础,所以它可以开发出很多和语言无关的公用程序块,如dll动态链接库和COM组件,原则上,只要你的Windows的系统,用VC++开发出来的这些公用程序块就能被任何语言调用(如果不用MFC框架,而用ATL框架来编写,甚至还可以脱离Windwos系统,不仅仅实现跨语言,甚至跨平台调用,这个笔者就没有仔细研究了)。

    03

    不要看《深入浅出MFC》![通俗易懂]

    大家好,又见面了,我是你们的朋友全栈君。 开篇先声明一点,《深入浅出MFC》是一本不错的书,对于MFC原码的剖析,十分到位,特别是前面对于MFC六大关键技术的总结和演示程序,尤其精彩。那为什么我要说不要看这本书呢? 我是站在一个初学者的角度来说这句话的,也是我当初看了这本书的一些感受(因为过于难以理解,差了几章没有看,后来再补的),这本书对于MFC的讲解对一个初次接触MFC的人来说,内容过于的晦涩难懂,大段大段的原码引用,一定会使人头晕目眩,不知所措,就算忍受着煎熬读完,我敢保证,你坐在电脑前,打开vc++,肯定还是不知道怎么用,甚至添加一个控件成员变量都不会,更不要说用MFC开发一个windows程序了。 “深入浅出”这四个字,确实有点名不副实,也有着一定的误导作用,大多看这本书的朋友,我想一定是被它的名气所吸引的。不过,就我到现在的学习经验,我觉得,如果你不是要用到底层的开发,对于MFC的原码,不了解也没什么关系,只要知道其基本工作机制,就可以了,而这本书,完全可以不看,以目前的趋势,开发工具日益便捷,很多东西都是用的“代码自动生成”,除非,你想充分diy,一般默认这些就可以了。当然,能了解原理更好了,不过不是必须罢了。 另外,侯先生的语言也过于跳跃,类似于网页中的连接,有时让人无所适从,这大概也算是他的风格吧,不过,对于教材,或者说技术性的书,还是以线带面为好。 对于有一定MFC编程经验的人来说,了解MFC原码,对编程水平的提高还是十分有帮助的,这里,我也推荐这本书!! 对于想学习MFC的朋友,我还是推荐《VC++技术内幕》( Programming Visual C++ ),当初我看的是英文的第五版,现在好像第六版也出来了吧,中文的好像只有第四版。 我还建议大家在学MFC之前看一点WINDOWS编程的书,了解一些windows的工作原理,像消息机制啦等等 当然了,这都是我个人的一些看法,仅供参考!

    02

    如何让WIN32应用程序支持MFC类库

    我们在调用一个控制台程序时一直都有DOS黑框闪烁一下,很多时候我们都不希望出现那个黑框,因为那样给人感觉特别不好,但是如果是控制台程序的话又是无法避免的。那是不是就没办法了呢,当然不是,我们可以选择在VS中制作Win32应用程序来解决,它虽然是窗口程序,但是我们可将窗口隐藏掉就不会像之前有闪烁的现象,但是默认生成的Win32应用程序又不能使用MFC类库,给我们编程造成不便,下面我就来教大家怎样在WIN32应用程序中支持MFC类库的方法,让我们接着开始吧! 首先,在文件中加入如下头文件语句: #ifndef VC_EXTRALEAN #define VC_EXTRALEAN // 从 Windows 头中排除极少使用的资料 #endif #include <afx.h> #include <afxwin.h> // MFC 核心组件和标准组件 #include <afxext.h> // MFC 扩展 上面这段代码可以放在预编译头文件stdafx.h中,位置自己可定 然后在_tWinMain的开始加入 if (!AfxWinInit(hInstance, NULL, lpCmdLine, 0)) { MessageBox(NULL,_T("MFC init error!"),_T("Error!"),MB_OK); return 0; } 然后在菜单中依次选择"项目->属性->配置属性->常规->MFC的使用"中选择"在共享DLL中使用MFC";

    03

    简述C和C++的学习历程

    总是被问到,如何学习C和C++才不茫然,才不是乱学,想了一下,这里给出一个总的回复。  一家之言,欢迎拍砖哈。 1、可以考虑先学习C. 大多数时候,我们学习语言的目的,不是为了成为一个语言专家,而是希望成为一个解决问题的专家。做一个有用的程序员,做一个赚钱的程序员。我们的价值,将体现在客户价值上,而不是语言写得好不好看。 C++是C的一个面向对象的解释,C++为C扩充了大规模工程应用,复杂的系统结构的组织和掌控方法,但是,我认为,C++骨子里还是C的。 毕竟,解决具体问题,每个函数内部,都是用C的方式写程序,还是面向过程的。 因此,想要学习好C++,我的建议,先学习C,先学解决问题的能力,再讨论解决大问题的能力。就是先学习怎么走路,再学习怎么跑步。 2、学习C的过程中,一定要理解结构化编程思维。 为什么呢,我前面有文章说过,软件语言的发展过程,就是一个数据私有化的过程,大型工程应用,强调高内聚,低耦合,模块化设计,保持代码最大的灵活性和安全性。 这是现代工程化开发的核心和灵魂。 因此,利用C这门语言入门,借此理解结构化开发思维,可以说是个很方便的路子。因为C的函数,本来就是为重用做准备的。同时,全局变量和cpp内部私有变量的差别,其使用原则,这些都能学到很多结构化开发思维。 3、开始学习C++ C++不难学的,很多人觉得C++难学,其实是因为它在C之外,又提供了很多的概念,尤其是对象,很难以理解。 不过我经过这么多年,把这个问题反而看淡了,我认为面向对象相对面向过程,仅仅是结构化程序设计的一个具体体现,是编译器提供手段,强迫程序员必须遵循数据私有化的一个实例,C++和C的关系,最核心的莫过于此。 现在我们回到C再看看,如果我们把一个全局变量,写到一个cpp里面,并且在对应的h文件中不声明,它是不是就只有这个模块可以使用?它是不是就是私有变量,以这个理解,类能明白了吗? 4、学习C++的深入技巧 C++在类的基础上,经过这么多年的发展,其实提供了很多深入的概念,看起来很复杂,其实我看也很简单。比如模板,我的理解就是“类的类”,大家说是不是? 既然模板理解了,STL,ATL这些,静态模板库,动态模板库,还难理解吗?就是一大堆类的类,可以借此实现很多应用中需要的类,不需要程序员再自己写而已。 ok,STL都理解了,泛型开发还难吗?所谓泛型开发,其实就是我做一个模板,来定义一套算法规则,但是呢,我希望这个算法规则,能进一步抽象,对核心数据类型不要限死,我把各种数据套进去,都可以用,这样,仅算法这部分,我不需要重写了。你想想是不是这个道理? 学到这里,C++和C,其实已经差不多了。再学语言,就是求全责备,过于钻牛角尖了。 5、学习应用开发 前面说了,学习语言,目的不是让别人认为自己是专家,是为了写程序赚钱。因此,语言学完,要学习应用开发。 什么叫应用开发呢,我会一门语言,但是,客户不懂,客户说的很直接,在Windows下给我写个程序,我要什么什么功能。为啥Windows呢?因为我习惯。 OK,很多时候,应用开发要尊重客户习惯,一般说来,语言这个东东,还是要结合具体平台的开发,才能开发出有意义的应用程序卖钱。那么,一般说来,客户端是Windows系统,服务器是Linux,这些都是行业习惯,嵌入式不好说,各种平台都有,Palm,S60,Linux,WinCE,等等。要根据自己的目标客户来定。 当我们选定目标平台后,有一个问题,选什么语言,很多时候,学生和商用程序员差别就在这里,学生一般没得选,自己会啥就用啥呗,企业里的程序员不会,要先评估需求,看哪个语言更合适,不会的语言,要去学。 ok,假定我们选了C和C++,那么,我们需要选择开发平台,Windows下不用说了,VC,这是最好用的,Linux下呢,gcc,其他的也差不多。 假如我们开发VC,并且使用C++,这个时候,才需要考虑学习MFC了,因为这是微软的标准类库,至少Windows平台下,它最权威,你看见没有,我们从学习开始,走了多少步,才走到MFC?是不是MFC不是学习C++上来就必须学的? 6、学习MFC 学习MFC,很多人一上来就开始看其体系架构,看得一头雾水,那个模块关系依赖图,我到现在都看不懂。 呵呵,其实不是啦,和学语言一样,我们学MFC的目的,也不是希望成为MFC的专家,而是要利用MFC开发Windows应用程序,为我们赚钱。看见没?MFC是手段,不是目的,目的是开发Windows程序。 其实Windows下,有一套很标准的C接口,叫Win32API,这个才是Windows的标准编程核心,因此,学习MFC,真实的目的是理解Windows程序开发,建议可以先学习Win32API,看来我们又回到C了哈,呵呵。刚开始学C有用吧? 7、Win32API

    02
    领券