opencv-0-项目启程

opencvC++QT

开始

无数次说要开始 opencv 的系列, 但是都由于各种原因没有坚持下去,

这次我做最后一次尝试, 也做最后一次坚持, 如果不做下去, 我就再也不开这个坑.

学习opencv 也有好几年了, 看到别人也写了各种的博文, 也学习了很多, 我也想写一点什么作为自己的一个总结, 我会将自己用到的和能够查到的都尽量写完整, 完善自己的知识库, 进而都整理出来, 完成写作. 工作量可能有点大, 但是我会坚持下去的.

希望我能成功了再回看这个项目

思路

从 Opencv 的基础开始, 从安装开始, 在到基本的操作, 再到每种算法的起源和发展, 并深入的剖析 opencv 的源码, 对应的还会写处相应的程序来, 这样 能够更为方便的展示效果

结构

文章的结构可能会变化, 但是大概的结构还是有的,

最开始从 opencv 的文档入手, 也看过很多别人翻译的文档,

但是我这次也不是去做文档的翻译工作了, 我要做的更深一点, 往下深挖具体的实现原理并作出演示

在文档的基础上, 去查看相关操作的基本原理, 进而分析不同情况下的执行情况, 最后写小的 demo 用于测试, 并给处演示.

最终的代码会同步在两个仓库中

Github/SChen1024/Imagelab

Gitee/schen00/Imagelab

工具

  1. 代码编写: QT+OpenCV

    图像处理这里的主要内容是学习的Opencv, 个人主要开发是基于CPP的, 所以这里选择了使用 QT 作为桌面程序的开发, 这里选择了最新版本的程序, 涉及到调试部分的话, 使用的是 Visual Studio , 由于版本问题, 这边直接下载的 OpenCV, 编译好的库是 VS2017版本的, 所以在 QT 中 使用对应的 VS 2017_X64
  • QT 5.14.2
  • OpenCV 4.3.0
  • VS2017
  1. 源码阅读: VSCode+ Source Insight

    VSCode 主要用于查看临时代码 进行少量的代码编写, 也能配置进行编译, 但是我不是很喜欢, 所以主要用于代码展示与 markdown 的编写, 配合 hexo blog 作为自己目前的博客环境

    Source Insight 4.0 用于进行源代码的查看, 在大的工程查看的时候很好用, 之前用的比较多, 所以现在仍然这样.

付费软件, 有需要的自己取用 [Source Insight 4.0 最简单的破解安装](https://blog.csdn.net/hzw2017/article/details/82085670)
-->

  1. 博文编写: 小书匠 和 Zotero

    小书匠是我偶然发现的一款应用, 真的很好用, 功能很强大, 最方便的一点能够很方便的绑定多个图床, 目前的图片主要放在自己的 gitee 仓库里面, 作为图片存留. 能够本地客户端与线上直接同步, 十分方便.

    Zotero, 可以将自己感觉参考到的网页类似于文献一样的组织起来,能够很方便的使用. 写博客也有种写论文的感觉了. [1]

  2. 其他工具

  • Chrome , 最好用的浏览器
  • github 学习的地方
  • CSDN/cnblogs/简书/知乎 能看到很多前辈的博文,真的很有用, 学到了很多.

其他

在图像处理的学习过程中, 受到了很多博主的影响

  1. CSDN 浅墨_毛星云, 算是入了门, 学会了使用 opencv 的基础内容
  2. cnblogs ImageShop, 从图像处理的角度给了让我知道了还能这么做, 他个人喜欢最求更快的图像处理技术, 很有趣的一个博主.

.... 还有很多 博主, 此处不再列举.

参考链接


  1. 阳志平的网志. 《Zotero(1):文献管理软件Zotero基础及进阶示范》, 2013年4月4日. https://www.yangzhiping.com/tech/zotero1.html.

opencv-0-项目启程的更多相关文章

  1. ubuntu 编译运行 opencv C++ 项目

    ubuntu 编译运行 opencv C++ 项目 环境 ubuntu 16.04 opencv3.4.0 一. 编译方法 1)命令行 g++ imageResize.cpp -o resize `p ...

  2. 本机运行.net 2.0项目报错,解决方案

    本机在iis上运行.net 2.0项目时,报以下错误“请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理”: 本机环境配置: 安装有以下几个.net 版本:v1.0.3705,v1.1.4322 ...

  3. 关于DIPS的MVC 4.0项目发布与在IIS 7.0上的部署的方法

    本人技术笨拙,今天在发布DIPS的MVC4.0项目,并部署到IIS上,遇到各种问题.在查询相关资料后,最终得以解决,所以想把这个过程记录下来. 首先是MVC4.0项目的发布: 打开你的VS2012网站 ...

  4. angular4.0项目build发布后,刷新页面报错404

    angular4.0项目执行npm run build后,进入页面正常显示. 但是当刷新页面时,报错404,页面未找到. 出现这个问题的原因,应该是找不到路由地址导致的,然后找到了下面的解决方案. 找 ...

  5. Asp.Net Core 2.0 项目实战(10) 基于cookie登录授权认证并实现前台会员、后台管理员同时登录

    1.登录的实现 登录功能实现起来有哪些常用的方式,大家首先想到的肯定是cookie或session或cookie+session,当然还有其他模式,今天主要探讨一下在Asp.net core 2.0下 ...

  6. Asp.Net Core 2.0 项目实战(11) 基于OnActionExecuting全局过滤器,页面操作权限过滤控制到按钮级

    1.权限管理 权限管理的基本定义:百度百科. 基于<Asp.Net Core 2.0 项目实战(10) 基于cookie登录授权认证并实现前台会员.后台管理员同时登录>我们做过了登录认证, ...

  7. Asp.Net Core 2.0 项目实战(9) 日志记录,基于Nlog或Microsoft.Extensions.Logging的实现及调用实例

    本文目录 1. Net下日志记录 2. NLog的使用     2.1 添加nuget引用NLog.Web.AspNetCore     2.2 配置文件设置     2.3 依赖配置及调用     ...

  8. Asp.Net Core 2.0 项目实战(8)Core下缓存操作、序列化操作、JSON操作等Helper集合类

    本文目录 1.  前沿 2.CacheHelper基于Microsoft.Extensions.Caching.Memory封装 3.XmlHelper快速操作xml文档 4.Serializatio ...

  9. Spring Boot 2.0系列文章(五):Spring Boot 2.0 项目源码结构预览

    关注我 转载请务必注明原创地址为:http://www.54tianzhisheng.cn/2018/04/15/springboot2_code/ 项目结构 结构分析: Spring-boot-pr ...

  10. Asp.Net Core 2.0 项目实战(7)MD5加密、AES&DES对称加解密

    本文目录 1. 摘要 2. MD5加密封装 3. AES的加密.解密 4. DES加密/解密 5. 总结 1.  摘要 C#中常用的一些加密和解密方案,如:md5加密.RSA加密与解密和DES加密等, ...

随机推荐

  1. ajax请求以及递归

    function f1() { console.log("hello"); f1(); }; f1();//浏览器崩溃,因为没有结束条件——死循环 改进如下: var i=0; f ...

  2. 【python系统学习13】类(class)与对象(object)

    目录: 类(class)和实例 类 实例 小测试 对象(object) 属性和方法 类的创建 伪代码 示例代码 属性(attribute) 方法(method) 类的实例化 实例对象调用类属性和方法 ...

  3. 6.Metasploit生成apk攻击Android实例

    Metasploit进阶第四讲 生成Android  apk文件 01  msfvenom基本参数 msfvenom介绍 承接上回,staged/unstage payload如何利用? msfven ...

  4. python:<class 'numpy.ndarray'>的学习

    在学习opencv-python的时候,给出图片地址再调用cv2.imread("地址"),发现出创建的是numpy类型的ndarray对象,用来存放多维数组的对象 # 导入cv2 ...

  5. STM32F103ZET6 PWM输出

    1.通用定时器的PWM功能 STM32F103ZET6有4个通用定时器,分别是TIM2.TIM3.TIM4.TIM5. 通用定时器由一个可编程预分频器驱动的16位自动装载计数器构成. 通用定时器的很多 ...

  6. 微信小程序wx:for隐藏遍历的最后一个元素

    微信小程序开发时有时会需要从wx:for遍历的元素中选取最后一个来进行相关操作,以下方法以隐藏最后一个元素为例 index==list.length-1 通过获取列表的总长度减一来得到最后一个元素是最 ...

  7. 下载安装配置 Spark-2.4.5 以及 sbt1.3.8 打包程序

    文章更新于:2020-03-29 按照惯例,文件附上链接放在文首. 文件名:spark-2.4.5-bin-without-hadoop.tgz 文件大小:159 MB 下载链接:https://mi ...

  8. wireshark抓包实战(二),第一次抓包

    1.选择网卡. 因为wireshark是基于网卡进行抓包的,所以这时候我们必须选取一个网卡进行抓包.选择网卡一般有三种方式 (1)第一种 当我们刚打开软件是会自动提醒您选择,例如: (2)第二种 这时 ...

  9. String、StringBuffer、StringBuilder葫芦三兄弟

    今年因为疫情的原因,本打算在读研期间好好做项目,写论文,在今年9月份能找个好工作,但现在迟迟不能开学,也无法正常的给导师打工,所以干脆就打算好好准备工(fan)作(wan)的事儿. 接触Java也有好 ...

  10. Struts2-学习笔记系列(15)-ajax支持和JSON

    7.1stream类型的result 使用stream就无需jsp页面,直接在action想浏览者生成指定的响应 @Override public java.lang.String execute() ...