学习图像算法阶段性总结 (附一键修图Demo)
今天特别感慨。自己从决定研究图像处理。势必要做出一键修图算法。
经历了,三个多月的书籍积累,三个多月的算法调整以及优化。
人是一种奇怪的动物。当你做不到的时候,你以为做到了。自己会感觉非常爽,非常有成就感。
而当你做到了,却会认为也就那么回事。
一開始自己仅仅是非常意外性地做到了一种劣质的颜色矫正算法,就认为自己牛上天了。
再到后来一次重新改进算法,最后那个最原始的算法,烂到我自己都不好意思说。
只一个颜色的修复我就耗费了四五个月。再到半个月做完智能曝光算法。一切好像就是那么顺理成章,自然而然。
跟大多数人不同的是。我是从一開始就坚持每个算法都要自己写,自己实现。
包含图像裁剪。图像翻转,图像模糊,图像锐化。图像降噪。图像缩放,PS曲线等等非常基础的算法,
我都是自己一句一句敲出来的,在写的过程中。也不记得自己改动了多少次了。
我固执地觉得,图像修复是全部图像算法,包含识别分析以及深度学习机器学习等等算法。最基础也是最核心的东西。
由于假设图像能修复到一定的程度,对全部上层算法,绝对是质量的飞跃。比如识别算法,识别准确率必定是提升的。
在这个过程中,最大的感受就是千万不要小看每个算法,你仅仅要用每个算法最核心最棒的思想,就能创造很多其它更优秀的算法。
至于算法优化事实上就是一句话:时空,时间空间,用时间换空间,用空间换时间。假设能两者兼顾则更佳。
所以我自己在写算法的时候,就是时刻考虑内存空间。算法耗时,这很重要。
昨天看了下自己离职的日期:2015.9.16,时至今日已经半年多了。
半年多的坚持和努力,白发也多了起来。人也憔悴多了。
近期也開始投简历了。在这个过程中也碰到了不少挫折。
主要是没多少人相信我是真的想回企业里踏实成长,
经历了那么多事情,事实上也仅仅是希望自己能真正地稳定下来,特别是在图像算法这个领域能有所建树。
这段时间,认识了不少网友,得到了不少网友的认可。自己也尽自己所能。回答一些他们询问我的问题。分享自己的一些心得体会。
也有不少网友热情地邀我去加盟他们。只是说实话,北京,上海,杭州,这几个地方自己就是不太喜欢。最喜欢的还是深圳。
原因非常easy。我把深圳图书馆当成了家。
在深圳的那段时间。除了上班,偶尔跟朋友出去,我去得最多的地方就是图书馆。
为了能稳定一点,若非特殊情况。如今我仅仅考虑大公司。
学习是一生的事情。投资自己不会错的。
在珠海金山的时候,每一个月。薪水里都有一千多元被我用来买书学习,
在学习这方面我真的不节俭,所以到如今,自己除了一身的能力和知识。也没什么积蓄。
而在深圳。图书馆常常有新书。资料非常全。省去了我非常大一部分的开销,这也是为什么我非常喜欢深圳这个图书馆城市最大的原因。
我的QQ和微信签名是:
To get where you want to go, you have to know where you are.
不记得什么时候写的,然后一直没再改过,你要去什么地方的前提是,你必须知道你自己如今在哪里。
在学图像算法的过程中,我常常看一些招聘信息,看看企业要求的条件是什么。
自己是不是满足这个条件,假设不满足。排个期,一步一步学起来。
学习以及能力培养,没有捷径。一步一个脚印。踏踏实实。稳稳当当。
尽管到如今,自己非常多能力还是没达到标准。
我一直觉得。100分仅仅是及格.
所以非常多东西还不够好。还有缺陷。
有网友跟我聊。他说他是在学习,而我是在超越。
事实上也非常正常,仅仅有超越别人,才有核心竞争力。
我把100分当及格分。你把100分当满分,这是很不一样的。
非常多时候,心态要好,傻逼样的去坚持,必有牛逼样的结果。
想想自己最慘的时候,在大学里,5片面包过一天。
如今与那时候相比,已经好太多了。
那些看不起我的人,就让他们看不起呗。与我无关。
前段时间向一个老同事请教,他说他经历跟我有点像。但也有不同。
只是他告诉我最深刻的话就是:
人太在意别人对自己的看法,而忽略了自己最重要的东西。
要放下执念,稳稳当当地走下去。
一键修图也算是自己近期一段时间的短期目标,从不懂到做出来,也仅仅有自己知道这之间的苦楚。
非常多时候,我想做什么事情的时候,都有朋友笑我天真,不自量力。
可是,我是强运行力,行动派,不去做,我不知道自己能做到什么样子。可是要去做。
非常多人做事情仅仅停留在想和想去做,而不是立马去做。
事实上失败没那么可怕,失败又不会死,没什么好怕的,假设你连死都不怕,那就更没什么好怕的了。
有不少网友也一直想我分享这个算法,不是我不愿意,是我认为授人以鱼不如授人以渔,并且自己那么辛苦做出来的东西,真的没那么easy就分享出去。
我不是伟人。我没那么伟大。
这个世界还有非常多事情。值得我们用心去做好它。
贴一些一键修图的效果图(图片源自网络)。
原图->效果图。
http://files.cnblogs.com/files/tntmonks/%E4%B8%80%E9%94%AE%E4%BF%AE%E5%9B%BE.zip
(注:可能会被杀毒软件误杀。加入为信任就可以)
不少网友在问,我就补充一下这个我这个算法的核心思路是: 拟合曲线
仅仅能说这么多。说破没酒喝。
俺的联系方式例如以下:
邮箱: gaozhihan@vip.qq.com
QQ:200759103
联系我时请说明来意,不然一律忽略。谢谢。
除了IT技术之外。本人也涉猎了非常多其它领域的知识。欢迎大家一起来互相探讨学习。
学习图像算法阶段性总结 (附一键修图Demo)的更多相关文章
- 学习图像算法阶段性总结 (附一键修图Demo) 2016.04.19更新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, ...
- 【网站国际化必备】Asp.Net MVC 集成Paypal(贝宝)快速结账 支付接口 ,附源码demo
开篇先给大家讲段历史故事,博主是湖北襄阳人.襄阳物华天宝,人杰地灵,曾用名襄樊.在2800多年的历史文化中出现了一代名相诸葛亮(卧龙),三国名士庞统(凤雏),魏晋隐士司马徽(水镜先生),唐代大诗人孟浩 ...
- [原创]java WEB学习笔记56:Struts2学习之路---Struts 版本的 登录 demo
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- Linux Shell编程学习笔记——目录(附笔记资源下载)
LinuxShell编程学习笔记目录附笔记资源下载 目录(?)[-] 写在前面 第一部分 Shell基础编程 第二部分 Linux Shell高级编程技巧 资源下载 写在前面 最近花了些时间学习She ...
- Android 仿 窗帘效果 和 登录界面拖动效果 (Scroller类的应用) 附 2个DEMO及源码
在android学习中,动作交互是软件中重要的一部分,其中的Scroller就是提供了拖动效果的类,在网上,比如说一些Launcher实现滑屏都可以通过这个类去实现.下面要说的就是上次Scroller ...
随机推荐
- touch pointer
在早期的浏览器,输入的事件其实相对单纯,只有考虑到鼠标和键盘两种:而当时的鼠标事件,其实就是 click.mousedown.mouseup 等等的事件.但是当手机.平板开始流行时候,再移动装置上的主 ...
- 手工搭建基于ABP的框架(2) - 访问数据库
为了防止不提供原网址的转载,特在这里加上原文链接: http://www.cnblogs.com/skabyy/p/7517397.html 本篇我们实现数据库的访问.我们将实现两种数据库访问方法来访 ...
- gcc调试 学习1
gdb进入调试 b 6 在第6行设置断点 d 2 删除num为2的断点 info b 查看断点 run 运行 n 执行到断点1 s 如果下一条是函数就进入函数 n 继续执行 print i 输出i的 ...
- Kotlin(二) 函数定义
1.不带参数,不返回值的函数 fun sum(){} 2.带参数,不带返回值的函数 fun sum(a:Int){} 3.带参数,带返回值的函数 fun sum(a:Int,b:Int) : Int{ ...
- Python之函数返回多个值
#!/usr/bin/env python26 #-*- coding:utf-8-*- def test(): a = 10 b = 20 return a,b #返回一个元组 atuple= te ...
- Shiro 加密helloWorld
承接第一章 初解加密 只贴更改的源码,其他看上一篇. ShiroRealm.java package com.lkk.shiro.realms; import org.apache.shiro.aut ...
- Django 入门案例开发(下)——创建项目应用及模型类
前面两章是在已经开发好的项目上用来描述环境和业务,这一章创建一个全新的项目来用作开发,你可以跟着我的步骤进行开发,如果有不理解的地方可以给我留言. 今天的任务是创建好项目和用户(users)应用及让它 ...
- python 小白(无编程基础,无计算机基础)的开发之路 day2
本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 ...
- js实际工作中的技能点
1.基础知识 a.原型,原型链 b.作用域,闭包 c.异步,单线程 2.JS API a.DOM操作 b.Ajax c.事件绑定 3.开发环境 a.版本管理(git) b.模块化(require.js ...
- 使用canvas绘制时钟 (http://heeroluo.net/Article/Detail/95)
准备工作 在HTML中指定一个区域放置时钟: <div id="clock" style="position: relative;"></di ...