学习图像算法阶段性总结 (附一键修图Demo) 2016.04.19更新demo
今天特别感慨,自己从决定研究图像处理,势必要做出一键修图算法。
经历了,三个多月的书籍积累,三个多月的算法调整以及优化。
人是一种奇怪的动物,当你做不到的时候,你以为做到了,自己会感觉很爽,很有成就感。
而当你做到了,却会觉得也就那么回事。
一开始自己只是很意外性地做到了一种劣质的颜色矫正算法,就觉得自己牛上天了。
再到后来一次又一次改进算法,最后那个最原始的算法,烂到我自己都不好意思说。
仅仅一个颜色的修复我就耗费了四五个月,再到半个月做完智能曝光算法,一切好像就是那么顺理成章,自然而然。
跟大多数人不同的是,我是从一开始就坚持每一个算法都要自己写,自己实现。
包括图像裁剪,图像翻转,图像模糊,图像锐化,图像降噪,图像缩放,PS曲线等等很基础的算法,
我都是自己一句一句敲出来的,在写的过程中,也不记得自己修改了多少次了。
我固执地认为,图像修复是所有图像算法,包括识别分析以及深度学习机器学习等等算法,最基础也是最核心的东西。
因为如果图像能修复到一定的程度,对所有上层算法,绝对是质量的飞跃,例如识别算法,识别准确率必然是提升的。
在这个过程中,最大的感受就是千万不要小看每一个算法,你只要用每一个算法最核心最优秀的思想,就能创造更多更优秀的算法。
至于算法优化其实就是一句话:时空,时间空间,用时间换空间,用空间换时间,如果能两者兼顾则更佳。
所以我自己在写算法的时候,就是时刻考虑内存空间,算法耗时,这非常重要。
昨天看了下自己离职的日期:2015.9.16,时至今日已经半年多了。
半年多的坚持和努力,白发也多了起来,人也憔悴多了。
最近也开始投简历了,在这个过程中也碰到了不少挫折,
主要是没多少人相信我是真的想回企业里踏实成长,
经历了那么多事情,其实也只是希望自己能真正地稳定下来,特别是在图像算法这个领域能有所建树。
这段时间,认识了不少网友,得到了不少网友的认可,自己也尽自己所能,回答一些他们询问我的问题,分享自己的一些心得体会。
也有不少网友热情地邀我去加盟他们,不过说实话,北京,上海,杭州,这几个地方自己就是不太喜欢,最喜欢的还是深圳。
原因很简单,我把深圳图书馆当成了家。
在深圳的那段时间,除了上班,偶尔跟朋友出去,我去得最多的地方就是图书馆。
为了能稳定一点,若非特殊情况,现在我只考虑大公司。
学习是一生的事情,投资自己不会错的。
在珠海金山的时候,每个月,薪水里都有一千多元被我用来买书学习,
在学习这方面我真的不节俭,所以到现在,自己除了一身的能力和知识,也没什么积蓄。
而在深圳,图书馆经常有新书,资料非常全,省去了我很大一部分的开销,这也是为什么我很喜欢深圳这个图书馆城市最大的原因。
我的QQ和微信签名是:
To get where you want to go, you have to know where you are.
不记得什么时候写的,然后一直没再改过,你要去什么地方的前提是,你必须知道你自己现在在哪里。
在学图像算法的过程中,我经常看一些招聘信息,看看企业要求的条件是什么,
自己是不是满足这个条件,如果不满足,排个期,一步一步学起来。
学习以及能力培养,没有捷径,一步一个脚印,踏踏实实,稳稳当当。
虽然到现在,自己很多能力还是没达到标准。
我一直认为,100分只是及格.
所以很多东西还不够好,还有缺陷。
有网友跟我聊,他说他是在学习,而我是在超越。
其实也很正常,只有超越别人,才有核心竞争力。
我把100分当及格分,你把100分当满分,这是非常不一样的。
很多时候,心态要好,傻逼样的去坚持,必有牛逼样的结果。
想想自己最惨的时候,在大学里,5片面包过一天。
现在与那时候相比,已经好太多了。
那些看不起我的人,就让他们看不起呗,与我无关。
前段时间向一个老同事请教,他说他经历跟我有点像,但也有不同。
不过他告诉我最深刻的话就是:
人太在意别人对自己的看法,而忽略了自己最重要的东西。
要放下执念,稳稳当当地走下去。
一键修图也算是自己最近一段时间的短期目标,从不懂到做出来,也只有自己知道这之间的苦楚。
很多时候,我想做什么事情的时候,都有朋友笑我天真,不自量力。
但是,我是强执行力,行动派,不去做,我不知道自己能做到什么样子,但是要去做。
很多人做事情只停留在想和想去做,而不是立刻去做。
其实失败没那么可怕,失败又不会死,没什么好怕的,如果你连死都不怕,那就更没什么好怕的了。
有不少网友也一直想我分享这个算法,不是我不愿意,是我觉得授人以鱼不如授人以渔,而且自己那么辛苦做出来的东西,真的没那么容易就分享出去。
我不是伟人,我没那么伟大。
这个世界还有很多事情,值得我们用心去做好它。
贴一些一键修图的效果图(图片源自网络)。
原图->效果图。
http://files.cnblogs.com/files/tntmonks/%E4%B8%80%E9%94%AE%E4%BF%AE%E5%9B%BE.zip
2016.04.19更新:
优化算法,改进背光图片的修复。
http://files.cnblogs.com/files/tntmonks/autotone.zip
(注:可能会被杀毒软件误杀,添加为信任即可)
不少网友在问,我就补充一下这个我这个算法的核心思路是: 拟合曲线
只能说这么多,说破没酒喝。
俺的联系方式如下:
邮箱: gaozhihan@vip.qq.com
QQ:200759103
联系我时请说明来意,不然一律忽略,谢谢。
除了IT技术之外,本人也涉猎了很多其他领域的知识,欢迎大家一起来互相探讨学习。
学习图像算法阶段性总结 (附一键修图Demo) 2016.04.19更新demo的更多相关文章
- 学习图像算法阶段性总结 (附一键修图Demo)
今天特别感慨.自己从决定研究图像处理.势必要做出一键修图算法. 经历了,三个多月的书籍积累,三个多月的算法调整以及优化. 人是一种奇怪的动物.当你做不到的时候,你以为做到了.自己会感觉非常爽,非常有成 ...
- (转) 深度强化学习综述:从AlphaGo背后的力量到学习资源分享(附论文)
本文转自:http://mp.weixin.qq.com/s/aAHbybdbs_GtY8OyU6h5WA 专题 | 深度强化学习综述:从AlphaGo背后的力量到学习资源分享(附论文) 原创 201 ...
- 【转载】 第四范式首席科学家杨强:AlphaGo的弱点及迁移学习的应对(附视频)
原文地址: https://www.jiqizhixin.com/articles/2017-06-02-2 ============================================= ...
- 从编程实现角度学习Faster R-CNN(附极简实现)
https://www.jianshu.com/p/9da1f0756813 从编程实现角度学习Faster R-CNN(附极简实现) GoDeep 关注 2018.03.11 15:51* 字数 5 ...
- JPG学习笔记3(附完整代码)
#topics h2 { background: rgba(43, 102, 149, 1); border-radius: 6px; box-shadow: 0 0 1px rgba(95, 90, ...
- Linux Shell编程学习笔记——目录(附笔记资源下载)
LinuxShell编程学习笔记目录附笔记资源下载 目录(?)[-] 写在前面 第一部分 Shell基础编程 第二部分 Linux Shell高级编程技巧 资源下载 写在前面 最近花了些时间学习She ...
- Python爬虫学习记录【内附代码、详细步骤】
引言: 昨天在网易云课堂自学了<Python网络爬虫实战>,视频链接 老师讲的很清晰,跟着实践一遍就能掌握爬虫基础了,强烈推荐! 另外,在网上看到一位学友整理的课程记录,非常详细,可以优先 ...
- ESFramework Demo -- P2P通信Demo(附源码)
现在我们将在ESFramework Demo -- 文件传送Demo 的基础上,使用ESPlus提供的第四个武器,为其增加P2P通信的功能.在阅读本文之前,请务必先掌握ESFramework 开发手册 ...
- Linux学习笔记之秋水BBR一键部署
0x00 本脚本适用环境 系统支持:CentOS 6+,Debian 7+,Ubuntu 12+内存要求:≥128M 阅读文章时请除手动删出干扰字符“1”.(Shadowsocks) 0x01 关于本 ...
随机推荐
- Sortable – 简单灵活的 JavaScript 拖放排序插件
当需要在网站中添加拖放排序功能的时候,jQuery UI 的排序组件可能是最流行的解决方案.今天给大家介绍另一款简单灵活的 JavaScript 拖放排序插件——Sortable,它使用 HTML5 ...
- 编码之JSP乱码涉及问题
各种编码一栏表 A. JSP/Servlet都有的编码设置 1. request.setCharacterEncoding("UTF-8") 2. response.setChar ...
- 移动端事件touchstart、touchmove、touchend
关于这三个移动端的事件,详细的资料网上一搜一大片,我就不浪费时间了 1.移动端长按事件 var timer = null; $(ele).on('touchstart',function(){ tim ...
- delphi 事件和属性的绑定
TWindowState = (wsNormal, wsMinimized, wsMaximized); TScrollingWinControl = class(TWinControl) priva ...
- iOS UISlider的使用
UISlider是一个方便的控件,让用户能够以可视化的方式设置指定范围内的值. 和按钮一样,滑块也能响应事件,还可像文本框一样被读取.如果希望用户对滑块的调整立刻影响应用程序,则需要让他触发操作. 下 ...
- ae开发基础功能
放大.缩小.pan.框选要素(新建命令,建立命令HOOK,赋给当前地图控件): ICommand cmd = new ControlsSelectFeaturesTool(); cmd.OnCreat ...
- 高清DVI编码器|上海视涛科技
DVI编码器(E600)简介 高清DVI编码器是上海视涛科技出品的高性能DVI编码产品.该DVI编码器是上海视涛科技完全自主研发,并适用于VGA.DVI.HDMI等信号的编码采集及网络传输的专用硬件设 ...
- 导入CSV格式的数据
导入CSV格式的数据 (参见http://dev.mysql.com/doc/refman/5.6/en/load-data.html) 1.数据库表(st_pptn_r) CREATE TABLE ...
- Android 手机卫士--打包生成apk维护到服务器
项目打包生成apk过程: 1.生成签名文件,并且指定所在位置 2.使用生成的签名文件,给工程打包生成一个apk 本文地址:http://www.cnblogs.com/wuyudong/p/59033 ...
- mvc上传到云虚拟机的问题解决
我用vs2015写了个小网站,.Net Framework4.5. mvc 5,发布到本机iis上正常,在美橙申请了一个云虚拟机,发布过程中遇到的一些问题记录如下: 1.服务器支持的版本比较低 上传后 ...