今天特别感慨,自己从决定研究图像处理,势必要做出一键修图算法。

经历了,三个多月的书籍积累,三个多月的算法调整以及优化。

人是一种奇怪的动物,当你做不到的时候,你以为做到了,自己会感觉很爽,很有成就感。

而当你做到了,却会觉得也就那么回事。

一开始自己只是很意外性地做到了一种劣质的颜色矫正算法,就觉得自己牛上天了。

再到后来一次又一次改进算法,最后那个最原始的算法,烂到我自己都不好意思说。

仅仅一个颜色的修复我就耗费了四五个月,再到半个月做完智能曝光算法,一切好像就是那么顺理成章,自然而然。

跟大多数人不同的是,我是从一开始就坚持每一个算法都要自己写,自己实现。

包括图像裁剪,图像翻转,图像模糊,图像锐化,图像降噪,图像缩放,PS曲线等等很基础的算法,

我都是自己一句一句敲出来的,在写的过程中,也不记得自己修改了多少次了。

我固执地认为,图像修复是所有图像算法,包括识别分析以及深度学习机器学习等等算法,最基础也是最核心的东西。

因为如果图像能修复到一定的程度,对所有上层算法,绝对是质量的飞跃,例如识别算法,识别准确率必然是提升的。

在这个过程中,最大的感受就是千万不要小看每一个算法,你只要用每一个算法最核心最优秀的思想,就能创造更多更优秀的算法。

至于算法优化其实就是一句话:时空,时间空间,用时间换空间,用空间换时间,如果能两者兼顾则更佳。

所以我自己在写算法的时候,就是时刻考虑内存空间,算法耗时,这非常重要。

昨天看了下自己离职的日期:2015.9.16,时至今日已经半年多了。

半年多的坚持和努力,白发也多了起来,人也憔悴多了。

最近也开始投简历了,在这个过程中也碰到了不少挫折,

主要是没多少人相信我是真的想回企业里踏实成长,

经历了那么多事情,其实也只是希望自己能真正地稳定下来,特别是在图像算法这个领域能有所建树。

这段时间,认识了不少网友,得到了不少网友的认可,自己也尽自己所能,回答一些他们询问我的问题,分享自己的一些心得体会。

也有不少网友热情地邀我去加盟他们,不过说实话,北京,上海,杭州,这几个地方自己就是不太喜欢,最喜欢的还是深圳。

原因很简单,我把深圳图书馆当成了家。

在深圳的那段时间,除了上班,偶尔跟朋友出去,我去得最多的地方就是图书馆。

为了能稳定一点,若非特殊情况,现在我只考虑大公司。

学习是一生的事情,投资自己不会错的。

在珠海金山的时候,每个月,薪水里都有一千多元被我用来买书学习,

在学习这方面我真的不节俭,所以到现在,自己除了一身的能力和知识,也没什么积蓄。

而在深圳,图书馆经常有新书,资料非常全,省去了我很大一部分的开销,这也是为什么我很喜欢深圳这个图书馆城市最大的原因。

我的QQ和微信签名是:

To get where you want to go, you have to know where you are.

不记得什么时候写的,然后一直没再改过,你要去什么地方的前提是,你必须知道你自己现在在哪里。

在学图像算法的过程中,我经常看一些招聘信息,看看企业要求的条件是什么,

自己是不是满足这个条件,如果不满足,排个期,一步一步学起来。

学习以及能力培养,没有捷径,一步一个脚印,踏踏实实,稳稳当当。

虽然到现在,自己很多能力还是没达到标准。

我一直认为,100分只是及格.

所以很多东西还不够好,还有缺陷。

有网友跟我聊,他说他是在学习,而我是在超越。

其实也很正常,只有超越别人,才有核心竞争力。

我把100分当及格分,你把100分当满分,这是非常不一样的。

很多时候,心态要好,傻逼样的去坚持,必有牛逼样的结果。

想想自己最惨的时候,在大学里,5片面包过一天。

现在与那时候相比,已经好太多了。

那些看不起我的人,就让他们看不起呗,与我无关。

前段时间向一个老同事请教,他说他经历跟我有点像,但也有不同。

不过他告诉我最深刻的话就是:

  人太在意别人对自己的看法,而忽略了自己最重要的东西。

要放下执念,稳稳当当地走下去。

一键修图也算是自己最近一段时间的短期目标,从不懂到做出来,也只有自己知道这之间的苦楚。

很多时候,我想做什么事情的时候,都有朋友笑我天真,不自量力。

但是,我是强执行力,行动派,不去做,我不知道自己能做到什么样子,但是要去做。

很多人做事情只停留在想和想去做,而不是立刻去做。

其实失败没那么可怕,失败又不会死,没什么好怕的,如果你连死都不怕,那就更没什么好怕的了。

有不少网友也一直想我分享这个算法,不是我不愿意,是我觉得授人以鱼不如授人以渔,而且自己那么辛苦做出来的东西,真的没那么容易就分享出去。

我不是伟人,我没那么伟大。

这个世界还有很多事情,值得我们用心去做好它。

贴一些一键修图的效果图(图片源自网络)。

原图->效果图。

Demo下载:  

http://files.cnblogs.com/files/tntmonks/%E4%B8%80%E9%94%AE%E4%BF%AE%E5%9B%BE.zip

2016.04.19更新:

优化算法,改进背光图片的修复。

新Demo下载:

http://files.cnblogs.com/files/tntmonks/autotone.zip

(注:可能会被杀毒软件误杀,添加为信任即可)

不少网友在问,我就补充一下这个我这个算法的核心思路是: 拟合曲线

只能说这么多,说破没酒喝。

俺的联系方式如下:

邮箱: gaozhihan@vip.qq.com

QQ:200759103

联系我时请说明来意,不然一律忽略,谢谢。

除了IT技术之外,本人也涉猎了很多其他领域的知识,欢迎大家一起来互相探讨学习。

学习图像算法阶段性总结 (附一键修图Demo) 2016.04.19更新demo的更多相关文章

  1. 学习图像算法阶段性总结 (附一键修图Demo)

    今天特别感慨.自己从决定研究图像处理.势必要做出一键修图算法. 经历了,三个多月的书籍积累,三个多月的算法调整以及优化. 人是一种奇怪的动物.当你做不到的时候,你以为做到了.自己会感觉非常爽,非常有成 ...

  2. (转) 深度强化学习综述:从AlphaGo背后的力量到学习资源分享(附论文)

    本文转自:http://mp.weixin.qq.com/s/aAHbybdbs_GtY8OyU6h5WA 专题 | 深度强化学习综述:从AlphaGo背后的力量到学习资源分享(附论文) 原创 201 ...

  3. 【转载】 第四范式首席科学家杨强:AlphaGo的弱点及迁移学习的应对(附视频)

    原文地址: https://www.jiqizhixin.com/articles/2017-06-02-2 ============================================= ...

  4. 从编程实现角度学习Faster R-CNN(附极简实现)

    https://www.jianshu.com/p/9da1f0756813 从编程实现角度学习Faster R-CNN(附极简实现) GoDeep 关注 2018.03.11 15:51* 字数 5 ...

  5. JPG学习笔记3(附完整代码)

    #topics h2 { background: rgba(43, 102, 149, 1); border-radius: 6px; box-shadow: 0 0 1px rgba(95, 90, ...

  6. Linux Shell编程学习笔记——目录(附笔记资源下载)

    LinuxShell编程学习笔记目录附笔记资源下载 目录(?)[-] 写在前面 第一部分 Shell基础编程 第二部分 Linux Shell高级编程技巧 资源下载 写在前面 最近花了些时间学习She ...

  7. Python爬虫学习记录【内附代码、详细步骤】

    引言: 昨天在网易云课堂自学了<Python网络爬虫实战>,视频链接 老师讲的很清晰,跟着实践一遍就能掌握爬虫基础了,强烈推荐! 另外,在网上看到一位学友整理的课程记录,非常详细,可以优先 ...

  8. ESFramework Demo -- P2P通信Demo(附源码)

    现在我们将在ESFramework Demo -- 文件传送Demo 的基础上,使用ESPlus提供的第四个武器,为其增加P2P通信的功能.在阅读本文之前,请务必先掌握ESFramework 开发手册 ...

  9. Linux学习笔记之秋水BBR一键部署

    0x00 本脚本适用环境 系统支持:CentOS 6+,Debian 7+,Ubuntu 12+内存要求:≥128M 阅读文章时请除手动删出干扰字符“1”.(Shadowsocks) 0x01 关于本 ...

随机推荐

  1. Sortable – 简单灵活的 JavaScript 拖放排序插件

    当需要在网站中添加拖放排序功能的时候,jQuery UI 的排序组件可能是最流行的解决方案.今天给大家介绍另一款简单灵活的 JavaScript 拖放排序插件——Sortable,它使用 HTML5 ...

  2. 编码之JSP乱码涉及问题

    各种编码一栏表 A. JSP/Servlet都有的编码设置 1. request.setCharacterEncoding("UTF-8") 2. response.setChar ...

  3. 移动端事件touchstart、touchmove、touchend

    关于这三个移动端的事件,详细的资料网上一搜一大片,我就不浪费时间了 1.移动端长按事件 var timer = null; $(ele).on('touchstart',function(){ tim ...

  4. delphi 事件和属性的绑定

    TWindowState = (wsNormal, wsMinimized, wsMaximized); TScrollingWinControl = class(TWinControl) priva ...

  5. iOS UISlider的使用

    UISlider是一个方便的控件,让用户能够以可视化的方式设置指定范围内的值. 和按钮一样,滑块也能响应事件,还可像文本框一样被读取.如果希望用户对滑块的调整立刻影响应用程序,则需要让他触发操作. 下 ...

  6. ae开发基础功能

    放大.缩小.pan.框选要素(新建命令,建立命令HOOK,赋给当前地图控件): ICommand cmd = new ControlsSelectFeaturesTool(); cmd.OnCreat ...

  7. 高清DVI编码器|上海视涛科技

    DVI编码器(E600)简介 高清DVI编码器是上海视涛科技出品的高性能DVI编码产品.该DVI编码器是上海视涛科技完全自主研发,并适用于VGA.DVI.HDMI等信号的编码采集及网络传输的专用硬件设 ...

  8. 导入CSV格式的数据

    导入CSV格式的数据 (参见http://dev.mysql.com/doc/refman/5.6/en/load-data.html) 1.数据库表(st_pptn_r) CREATE TABLE ...

  9. Android 手机卫士--打包生成apk维护到服务器

    项目打包生成apk过程: 1.生成签名文件,并且指定所在位置 2.使用生成的签名文件,给工程打包生成一个apk 本文地址:http://www.cnblogs.com/wuyudong/p/59033 ...

  10. mvc上传到云虚拟机的问题解决

    我用vs2015写了个小网站,.Net Framework4.5. mvc 5,发布到本机iis上正常,在美橙申请了一个云虚拟机,发布过程中遇到的一些问题记录如下: 1.服务器支持的版本比较低 上传后 ...