zoukankan      html  css  js  c++  java
  • Opencv (Opencv2)结合MFC学习数字图像处理【0】开篇

          写这个系列的文章,主要的动机很简单,就是想找一个在windows下较方便的开发环境,借助于opencv来学习数字图像处理的知识。

          上面那短短一句话中,出现了windows, opencv, 数字图像处理这三个关键词,这就要求我们需要熟悉windows编程,c++, 以及数字图像处理的一些基本原理,对于很多初学者来说,windows编程和C++往往是两大拦路虎,很多人都知道学习数字图像处理一定需要实战,但实战的第一步怎么迈出,该选择哪种学习方案,往往颇为纠结。

    【学习数字图像处理的几种方案 】

     目前有很多学习数字图像处理的方案,总结了一下,大概有如下几种

           1. matlab

           2. python + numpy +scipy+matplotlib

           3. linux + gcc + opencv

           4. windows下vs + opencv + 控制台程序

          其中1是学校里比较主流的方式,优点是不需要懂c语言和c++,只需要专注于相关算法的实现,缺点也很明显,以后想做dev的同学可能就得不到锻炼,对学习软件开发和程序设计没有太多好处。

          python是最近比较流行的学习数字图像的一种选择,和matlab相比最大的优势在于,python是开源的,安装包很小,而且python作为程序语言本身就很优秀,通过python学习数字图像处理,既能掌握数字图像的原理,也能掌握一门实用的编程语言。 

          不过学习python还是稍微有点曲线了(和matlab相比),它不像matlab那样,模块齐全,他需要你像搭积木一样寻找各种python的库,结合使用才能发挥最大作用,而且python的调试可能也没有matlab方便,不习惯编程的同学可能会比较抵制这种方案。

         

          如果要使用c或c++呢?一种方案是在linux下开发,这种方式其实是最简单的,只需要gcc一行命令,编译链接Opencv就完了,如果你想学c++,又不想折腾windows下复杂的visual studio,那么用linux是最好的。

          最后,如果你是一个windows程序员,想借学习数字图像处理这个机会学一学c++和windows编程,那么在windows下就必须要用visual studio了。

    【windows下如何学习数字图像处理】

    1. 使用DIB格式的位图进行处理

        这个是现在市面上流行的“VC和数字图像处理”之类的方案,它有很大的局限性:

        1. 大量使用windows api,比如解析DIB格式的图片, 往往是几十行让人头大的C风格的代码,初学者在接触到数字图像处理的真正内容时,往往会被这种技术细节吓跑。

        2. 有一些和数字图像处理没有太多关系的内容,比如调色板,也会让初学者感到图像格式的复杂。

        3. 只能处理bmp, 对于最流行的jpeg,没有办法处理,更不要说png了

        4. 很多算法只能处理灰度图,对于更为流行的彩色图像一般都当灰度图处理

        5. 过分地炫弄windows界面的一些技巧

    2. 使用opencv 

        这种方案比第一种好不少,至少它可以解码jpeg。但现在市面上这方面的书还比较少 ,而且更多地是在控制台程序下进行了,即便有UI,也是很简单地利用Opencv自带的窗口系统,其实并不是很好,也不太方便。

     3. 在mfc的框架下使用opencv

        这种方案其实是比较灵活的,对于windows程序员来说,不管怎么样,mfc和windows编程还是必须要掌握的技能,在以后的文章中,我会介绍在mfc框架下如何使用opencv。 

  • 相关阅读:
    华为S12700 NQA配置
    斐讯K1 K2 开启Telnet
    存储的一些基本概念(HBA,LUN)
    华为AR配置内部服务器示例(只有1个公网IP)
    使用nginx 做kbmmw REST 服务的负载均衡
    第一个 macOS 64位 kbmmw 服务器
    使用FMXlinux 开发linux 桌面应用
    推荐一套免费跨平台的delphi 哈希及加密算法库
    使用kbmmw 的调度事件动态显示时间
    提高sqlite 的运行性能(转载)
  • 原文地址:https://www.cnblogs.com/speedmancs/p/2674206.html
Copyright © 2011-2022 走看看