opencv-0-项目启程
开始
无数次说要开始 opencv 的系列, 但是都由于各种原因没有坚持下去,
这次我做最后一次尝试, 也做最后一次坚持, 如果不做下去, 我就再也不开这个坑.
学习opencv 也有好几年了, 看到别人也写了各种的博文, 也学习了很多, 我也想写一点什么作为自己的一个总结, 我会将自己用到的和能够查到的都尽量写完整, 完善自己的知识库, 进而都整理出来, 完成写作. 工作量可能有点大, 但是我会坚持下去的.
希望我能成功了再回看这个项目
思路
从 Opencv 的基础开始, 从安装开始, 在到基本的操作, 再到每种算法的起源和发展, 并深入的剖析 opencv 的源码, 对应的还会写处相应的程序来, 这样 能够更为方便的展示效果
结构
文章的结构可能会变化, 但是大概的结构还是有的,
最开始从 opencv 的文档入手, 也看过很多别人翻译的文档,
- opencv 官方站点
- 参与了部分翻译内容的 OpenCV 中文文档 4.0.0
- 早期的 opencv 中国 opencv2.3.2 中文文档
- 个人翻译的 opencv 4.1.0 中文文档
- w3cschoold 文档库 opencv
但是我这次也不是去做文档的翻译工作了, 我要做的更深一点, 往下深挖具体的实现原理并作出演示
在文档的基础上, 去查看相关操作的基本原理, 进而分析不同情况下的执行情况, 最后写小的 demo 用于测试, 并给处演示.
最终的代码会同步在两个仓库中
工具
- 代码编写: QT+OpenCV
图像处理这里的主要内容是学习的Opencv, 个人主要开发是基于CPP的, 所以这里选择了使用 QT 作为桌面程序的开发, 这里选择了最新版本的程序, 涉及到调试部分的话, 使用的是 Visual Studio , 由于版本问题, 这边直接下载的 OpenCV, 编译好的库是 VS2017版本的, 所以在 QT 中 使用对应的 VS 2017_X64
- QT 5.14.2
- OpenCV 4.3.0
- VS2017
- 源码阅读: VSCode+ Source Insight
VSCode 主要用于查看临时代码 进行少量的代码编写, 也能配置进行编译, 但是我不是很喜欢, 所以主要用于代码展示与 markdown 的编写, 配合 hexo blog 作为自己目前的博客环境
Source Insight 4.0 用于进行源代码的查看, 在大的工程查看的时候很好用, 之前用的比较多, 所以现在仍然这样.
付费软件, 有需要的自己取用 [Source Insight 4.0 最简单的破解安装](https://blog.csdn.net/hzw2017/article/details/82085670)
-->
博文编写: 小书匠 和 Zotero
小书匠是我偶然发现的一款应用, 真的很好用, 功能很强大, 最方便的一点能够很方便的绑定多个图床, 目前的图片主要放在自己的 gitee 仓库里面, 作为图片存留. 能够本地客户端与线上直接同步, 十分方便.
Zotero, 可以将自己感觉参考到的网页类似于文献一样的组织起来,能够很方便的使用. 写博客也有种写论文的感觉了. [1]其他工具
- Chrome , 最好用的浏览器
- github 学习的地方
- CSDN/cnblogs/简书/知乎 能看到很多前辈的博文,真的很有用, 学到了很多.
其他
在图像处理的学习过程中, 受到了很多博主的影响
- CSDN 浅墨_毛星云, 算是入了门, 学会了使用 opencv 的基础内容
- cnblogs ImageShop, 从图像处理的角度给了让我知道了还能这么做, 他个人喜欢最求更快的图像处理技术, 很有趣的一个博主.
.... 还有很多 博主, 此处不再列举.
参考链接
阳志平的网志. 《Zotero(1):文献管理软件Zotero基础及进阶示范》, 2013年4月4日. https://www.yangzhiping.com/tech/zotero1.html. ↩
opencv-0-项目启程的更多相关文章
-
ubuntu 编译运行 opencv C++ 项目
ubuntu 编译运行 opencv C++ 项目 环境 ubuntu 16.04 opencv3.4.0 一. 编译方法 1)命令行 g++ imageResize.cpp -o resize `p ...
-
本机运行.net 2.0项目报错,解决方案
本机在iis上运行.net 2.0项目时,报以下错误“请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理”: 本机环境配置: 安装有以下几个.net 版本:v1.0.3705,v1.1.4322 ...
-
关于DIPS的MVC 4.0项目发布与在IIS 7.0上的部署的方法
本人技术笨拙,今天在发布DIPS的MVC4.0项目,并部署到IIS上,遇到各种问题.在查询相关资料后,最终得以解决,所以想把这个过程记录下来. 首先是MVC4.0项目的发布: 打开你的VS2012网站 ...
-
angular4.0项目build发布后,刷新页面报错404
angular4.0项目执行npm run build后,进入页面正常显示. 但是当刷新页面时,报错404,页面未找到. 出现这个问题的原因,应该是找不到路由地址导致的,然后找到了下面的解决方案. 找 ...
-
Asp.Net Core 2.0 项目实战(10) 基于cookie登录授权认证并实现前台会员、后台管理员同时登录
1.登录的实现 登录功能实现起来有哪些常用的方式,大家首先想到的肯定是cookie或session或cookie+session,当然还有其他模式,今天主要探讨一下在Asp.net core 2.0下 ...
-
Asp.Net Core 2.0 项目实战(11) 基于OnActionExecuting全局过滤器,页面操作权限过滤控制到按钮级
1.权限管理 权限管理的基本定义:百度百科. 基于<Asp.Net Core 2.0 项目实战(10) 基于cookie登录授权认证并实现前台会员.后台管理员同时登录>我们做过了登录认证, ...
-
Asp.Net Core 2.0 项目实战(9) 日志记录,基于Nlog或Microsoft.Extensions.Logging的实现及调用实例
本文目录 1. Net下日志记录 2. NLog的使用 2.1 添加nuget引用NLog.Web.AspNetCore 2.2 配置文件设置 2.3 依赖配置及调用 ...
-
Asp.Net Core 2.0 项目实战(8)Core下缓存操作、序列化操作、JSON操作等Helper集合类
本文目录 1. 前沿 2.CacheHelper基于Microsoft.Extensions.Caching.Memory封装 3.XmlHelper快速操作xml文档 4.Serializatio ...
-
Spring Boot 2.0系列文章(五):Spring Boot 2.0 项目源码结构预览
关注我 转载请务必注明原创地址为:http://www.54tianzhisheng.cn/2018/04/15/springboot2_code/ 项目结构 结构分析: Spring-boot-pr ...
-
Asp.Net Core 2.0 项目实战(7)MD5加密、AES&;DES对称加解密
本文目录 1. 摘要 2. MD5加密封装 3. AES的加密.解密 4. DES加密/解密 5. 总结 1. 摘要 C#中常用的一些加密和解密方案,如:md5加密.RSA加密与解密和DES加密等, ...
随机推荐
-
Linux启动新进程的几种方法汇总
有时候,我们需要在自己的程序(进程)中启动另一个程序(进程)来帮助我们完成一些工作,那么我们需要怎么才能在自己的进程中启动其他的进程呢?在Linux中提供了不少的方法来实现这一点,下面就来介绍一个这些 ...
-
java remote debug parameters
java -agentlib:jdwp=transport=dt_socket,server=y,address=8000,suspend=n
-
[转载]U3d常规性能优化技巧
以下技巧并不是必须的,但是对于想要提升游戏性能的人来说应该还是很不错的. 优化的常规技巧 n 剖析你的游戏. 不要花费时间来优化那些晦涩的代码或者缩减图形文件的大小,除非这是你游戏的瓶颈.第一次剖析你 ...
-
C_functions
1.C常用函数分为如下几大类!! 1,字符测试函数. 2,字符串操作 3,内存管理函数 4,日期与时间函数 5,数学函数 6,文件操作函数 7,进程管理函数 8,文件权限控制 9,信号处理 10,接口 ...
-
Oracle中exists与in的区别
有两个简单例子,以说明 "exists"和"in"的效率问题 1) select * from T1 where exists(select 1 from T2 ...
-
java -cp用法
原文出处:http://blog.csdn.net/zhuying_linux/article/details/7714194.感谢作者的分享 java -cp classpath Specify a ...
-
Maven Dependency Scope
官方API描述 Dependency scope 是用来限制Dependency的作用范围的, 影响maven项目在各个生命周期时导入的package的状态. 自从2.0.9后,新增了1种,现在有了 ...
-
Python list 常用方法总结
一,创建列表 只要把逗号分隔的不同的数据项使用方括号([ ])括起来即可 下标(角标,索引)从0开始,最后一个元素的下标可以写-1 list = ['1',‘2,‘3’] list = [] 空 ...
-
浅析ARM公司在物联网领域的战略布局
From: http://www.cnblogs.com/yefanqiu/p/3447769.html 浅析ARM公司在物联网领域的战略布局 随着ARM芯片的出货量越来越多,自信满满的ARM公司统一 ...
-
安卓socket聊天
安卓基于Socket通信(服务器配合) 1.话不多说进入正题,先创建服务端,在Android Studio中创建Java代码,如下图所示: 选择Java Library 需要改名字的自己随意 2.创建 ...