学习图像算法阶段性总结 (附一键修图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 ...
随机推荐
- HTTP中的Range: bytes=0-
HTTP中的Range就是分段请求字节数,也是大家经常说的断点续传.Range头域可以请求实体的一个或者多个子范围,Range的值为0表示第一个字节,也就是Range计算字节数是从0开始的 表示第二个 ...
- 都说 WebP 厉害,究竟厉害在哪里?
之前在< WebP 的前世今生 >一文中,介绍了 WebP 图片格式是由 Google 基于 VP8 视频编码格式研发的,同时提供有损压缩和无损压缩两种格式,那么今天就来看看 WebP 有 ...
- 大话git中的撤销操作
下面以现实场景作为情境. 基础知识,理解git中的几个区域 本地代码已经add,未commit 修改本地工作目录中的readme.md,添加文字"第一次修改" 然后查看下状态 ➜ ...
- dubbo专题」dubbo其实很简单,就是一个远程服务调用的框架(1)
一.dubbo是什么? 1)本质:一个Jar包,一个分布式框架,,一个远程服务调用的分布式框架. 既然是新手教学,肯定很多同学不明白什么是分布式和远程服务调用,为什么要分布式,为什么要远程调用.我简单 ...
- DNA序列对齐问题
问题描述: 该问题在算法导论中引申自求解两个DNA序列相似度的问题. 可以从很多角度定义两个DNA序列的相似度,其中有一种定义方法就是通过序列对齐的方式来定义其相似度. 给定两个DNA序列A和B,对齐 ...
- Vue Elementui 如何让输入框每次自动聚焦
在项目优化中碰到一个小问题,在每次提示框显示的时候让提示框中的输入框聚焦.如下图.一般情况下提示框是隐藏的.点击了编辑才会弹出. 那么原生属性autofocus 只在模板加载完成时起作用,也就是说只有 ...
- 数据库连接(Oracle/sqlServer增、删、改、查)
一.把数据库包导入项目中,并且Build path(oracle例如ojdbc6.jar;sqlServer例如sqljdbc.jar) 二.开始操作 1.普通连接: String className ...
- 如何使用webpack优化首屏渲染时间
其实说到性能优化,他的范围太广了,今天我们就只聊一聊通过webpack配置减少http请求数量这个点吧. 简单说下工作中遇到的问题吧,我们做的一个项目中首页用了十多张图片,每张图片都是一个静态资源,所 ...
- git命令提交项目
相关的操作命令,总是忘记,故在此记录下: 此为linux下的命, windows的话,去掉sudo即可 1.进入项目代码根目录,执行: sudo git init 把这个目录变成git可以管理的仓库. ...
- python 小白(无编程基础,无计算机基础)的开发之路 day2
本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 ...