自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Coding and Living

http://www.woaitqs.cc

  • 博客(43)
  • 资源 (1)
  • 收藏
  • 关注

原创 为什么是Gradle? -- Gradle教程(一)

原文链接:http://www.woaitqs.cc/gradle/2016/12/20/android-gradle-1.html开发 Android 的同时,也应该了解其构建构建工具。特别是在实际的生产开发项目中,对于需要分发的包有各式各样的需求,灵活应用构建工具将会极大地提升生产效率,另一方面,在日常开发中,对构建工具的了解,也能帮你省去不少额外工作。

2016-12-20 20:31:54 452

原创 为什么是Gradle? -- Gradle教程(一)

原文链接:http://www.woaitqs.cc/gradle/2016/12/20/android-gradle-1.html开发 Android 的同时,也应该了解其构建构建工具。特别是在实际的生产开发项目中,对于需要分发的包有各式各样的需求,灵活应用构建工具将会极大地提升生产效率,另一方面,在日常开发中,对构建工具的了解,也能帮你省去不少额外工作。

2016-12-20 20:27:14 413

原创 为什么是Gradle? -- Gradle教程(一)

原文链接:http://www.woaitqs.cc/gradle/2016/12/20/android-gradle-1.html开发 Android 的同时,也应该了解其构建构建工具。特别是在实际的生产开发项目中,对于需要分发的包有各式各样的需求,灵活应用构建工具将会极大地提升生产效率,另一方面,在日常开发中,对构建工具的了解,也能帮你省去不少额外工作。

2016-12-20 20:26:27 469

原创 为什么是Gradle? -- Gradle教程(一)

原文链接:http://www.woaitqs.cc/gradle/2016/12/20/android-gradle-1.html开发 Android 的同时,也应该了解其构建构建工具。特别是在实际的生产开发项目中,对于需要分发的包有各式各样的需求,灵活应用构建工具将会极大地提升生产效率,另一方面,在日常开发中,对构建工具的了解,也能帮你省去不少额外工作。

2016-12-20 20:24:46 427

原创 Android View 全解析(一) -- 窗口管理系统

主要讲 Android 的窗口管理系统,依托于这套系统,我们才能将 View 显示到屏幕上。了解这套系统,有助于更好地理解 Android View 的来龙去脉。

2016-10-12 17:16:53 727

原创 从源码出发深入理解 Android Service

本文是 Android 系统学习系列文章中的第三章节的内容,介绍了 Android Service 相关的基础知识,然后从源码的角度上分析 Service 的一些实现原理。对此系列感兴趣的同学,可以收藏这个链接 Android 系统学习.

2016-09-22 20:28:01 1573

原创 JsonObject null 的神坑

现在开源的 Json 序列化方案层出不穷,在性能和使用方面,都取得了很好的效果,比较常用的包括 Gson,FastJson 等等。然后对于初学者而言,或者不想引入额外框架的情况下,在这些场景下,还是会使用 JsonObject 这种基础对象。今天的文章,就是说一说 JsonObject 的神坑。

2016-09-14 11:04:32 39761 1

原创 Android 应用安装过程源码解析

本文是 Android 系统学习系列文章中的第一章节的内容,介绍了 PackageManagerService 在启动时如何去加载已安装的应用,通过一个新的应用是如何在 PackageManagerService 的帮助下完成安装过程的。

2016-08-05 16:33:39 1363

原创 Android 开发者选项详述

本文列举了常用的 Android 开发者选项,了解和熟练使用这些开发者选项,能够帮助我们定位开发中遇到的问题,辅助我们了解应用的性能问题,对提升开发和优化效率大有帮助。

2016-07-01 19:56:02 3815

原创 Android 应用进程启动流程

讨论的内容也就是一个应用进程是如何启动的,私以为这一部分的内容颇为重要,即便不了解细节,也要知道其中的大体步骤。特别是针对我们应用开发者而言,理应了解我们的 App 是如何被启动的,App 中的组件是如何被系统服务调用和组织的。

2016-06-25 16:40:18 3958

原创 详解 Android 是如何启动的

转载注明原文:http://www.woaitqs.cc/android/2016/06/15/how-android-launch-itself.html本文是 Android 系统学习系列文章中的第一章节,从大体上说明 Android 系统是如何启动的?从开机到程序启动,发生了那些步骤,这些步骤意味着什么?欢迎进入今天的「走进科学」,逃 :)。

2016-06-20 11:04:04 2253

原创 独立博客进阶技巧

本文介绍了一些与使用 Jekyll 搭建博客的进阶技巧,帮助你能了解自定义 Jekyll Pages 的方法。主要介绍了生成摘要和图床相关的方法,读者可以逐类旁通,弄出一些更加 awesome 的功能。读这篇文章之前,建议看看 手把手教你用github pages搭建博客 这里面有详细的使用 Github Pages 进行博客搭建的步骤。

2016-06-15 19:27:36 838

原创 手把手教你用github pages搭建博客 最新版

本文来自于我的个人博客,转载请注明 http://www.woaitqs.cc/2016/06/08/blog-seo-baidu如果给你40分钟,可以搭建一个如下图所示的网站,你愿意吗?如果你愿意,那我们就开始干!背景介绍搭建博客网站有各种各样的方法,根据不同的需求,又不同的做法。如果你只是想单纯做一个博客,和世界分享你的观点和视角,那么我推荐使用 github pages。

2016-06-10 12:23:31 28141 3

原创 Android Binder 全解析(2) -- 设计详解

在上一篇文章中介绍了什么是Binder? 为什么我们需要它?在这一篇文章中,将通过类比的思路来介绍 Binder 的设计原理,作为上一篇文章的补充。这篇文章只是从设计的概念出发进行理解,不设计太多的代码细节,如果想对具体实现感兴趣,可以参考老罗的文章。[Android进程间通信(IPC)机制Binder简要介绍和学习计划](http://blog.youkuaiyun.com/luoshengyang/article/detai

2016-06-08 17:15:06 640

原创 Android Binder 全解析(1) -- 概述

在提及Binder之前,我们先来看看Android的设计。在Linux系统里面,进程之间是相互隔离的,也就是说进程之间的各个数据是互相独立,互不影响,而如果一个进程崩溃了,也不会影响到另一个进程。这样的前提下将互相不影响的系统功能分拆到不同的进程里面去,有助于提升系统的稳定性,毕竟我们都不想自己的应用进程崩溃会导致整个手机系统的崩溃。而Android是基于Linux系统进行开发的,也充分利用的进程隔离这一特性。

2016-06-08 17:11:17 1108

原创 viewpager 与 pageradapter

ViewPager 作为展示一组页面的容器,在Android上被广泛使用,这边文章将围绕 ViewPager 如何显示页面展开,接口如何设计展开。PagerAdapter 的接口设计ViewPager 是与一组页面进行交互的容器,那么怎么设计交互的接口就成为设计成败的关键。我们会发现 ListView 中使用的「通信接口」是 BaseAdapter, 那么类似地,ViewPager 在设计的时候,

2015-08-22 16:39:44 3311

原创 HashMap 剖析与理解

序言ConCurrentHashMap 是一个被忽视的Java Concurrent包下面的类,在满足并发的「安全性」,和「活跃性」的前提下,做到了与不考虑线程安全的 HashMap 同等效率. 作者是大名鼎鼎的Doug Lea,他老人家在Java 并发领域做的贡献,确实是我们的榜样。下篇文章,对ConCurrentHashMap做一个分析,希望这个代码中的闪光点,能够对各位读者产生启发。

2015-05-09 15:23:54 3125

原创 Volley 源码解析

转载请注明作者和原文连接(@woaitqs woaitqs.github.io)为什么需要阅读Volley的源码Volley是Google在2013年推出的一个网络库,用于解决复杂网络环境下网络请求问题。「Google出品,必属精品」,而且Volley被使用在包括「Google Plus」的一系列Google产品中,久经考验。因此我们通过学习Volley的源代码,可以学得很多Android 网络方面的内容

2015-05-09 15:22:48 4365

原创 EventBus 利弊与源码解析

EventBus 利弊 和 源码解析

2015-05-09 15:06:43 29902

原创 对Tineye搜索引擎的猜想

出自:http://www.hackerfactor.com/blog/index.php?/archives/432-Looks-Like-It.htmlFor the last few months, I have had a nearly constant stream of queries asking how TinEye works and, more generally, h

2012-02-28 18:52:10 1581

原创 Android中观察者模式的实现--第二届 Google 暑期大学生博客分享大赛 - 2011 Android 成长篇

本文为第二届 Google 暑期大学生博客分享大赛 - 2011 Android 成长篇参赛作品观察者模式的定义可以参见wiki中的资料,链接如下http://zh.wikipedia.org/wiki/观察者模式其UML类图如下1.定义观察者模式

2011-08-14 21:37:12 1317

原创 WPF不规则窗口和Settings.setting设置示例

<br /><Window x:Class="WpfApplication_Transparency.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" AllowsTransparency="True" WindowStyle="None"

2011-03-29 17:47:00 2685

原创 SQL SERVER网络协议

SQL SERVER网络协议Named PipesNamed Pipes 是为局域网而开发的协议。内存的一部分被某个进程用来向另一个进程传递信息,因此一个进程的输出就是另一个进程的输入。第二个进程可以是本地的(与第一个进程位于同一台计算机上),也可以是远程的(位于联网的计算机上)。Shared Memory避免了运行在同一台计算机上的客户端和服务器之间的进程间封送(跨越进程间的传递信息),客户端直接访问服务器存储数据的内存映射文件.Shared Memory 是可供使用的最简单协议,没有可配置的设置。由于使

2011-03-01 20:29:00 1663

原创 openCV学习笔记(9)-- 图像剪切

<br />图像的剪切有多种方法,其中一种是使用ROI的方法<br /> <br />第一步:将需要剪切的图像图像不部分设置为ROI<br />cvSetImageROI(src , cvRect(x,y,width,height));<br /> <br />第二步:新建一个与需要剪切的图像部分同样大小的新图像<br />cvCreateImage(cvSize(width,height),IPL_DEPTH,nchannels);<br /> <br />第三步:将源图像复制到新建的图像中<br />c

2011-03-01 19:11:00 29759 1

原创 Sift算法-----part6

<br />Sift算法-----part6<br />      前言:这是本系列的最后一部分了,我们剩下的唯一工作就是采取每个关键点的指纹,这样才能把他从其他部分区别出来。<br /> <br /> <br /> <br /> 做法<br /> <br />      我们的目标是给每个关键点创建一个独一无二的指纹,前提必须他很容易计算,另一方面我们希望他在作比较时能保持相对宽松,比较在不同的两张图片中,物体总是有或多或少的区别的。<br />为了完成这个目标,我们为每个关键点建立一个16*16的区域,

2011-02-23 20:52:00 1779

原创 Sift算法-----part5

<br />Sift算法-----part5<br />      前言:通过前四部分的操作,我们已经得到优化后的关键点,它们已经在实践中被证明是稳定有效的,下一个步骤中,我们将为每一个关键点分配方向,这个方向将保证角度不怕。<br /><br /> <br /> <br />做法:<br />      具体做法是收集每个关键点梯度方向和大小。然后我们就可以得出这区域中最突出的方向。我们将这个方向分配给每个关键点。其后的所有计算都是与这个方向是紧紧相关的,这保证了方向不变。<br />          

2011-02-23 20:14:00 931

原创 Sift算法-----part4

<br />Sift算法-----part4<br />      我们在前面的步骤中产生了许多关键点,其中的一些点是沿边缘分布的或者经历的对比不够充分,其中的任一种情况都使得这些关键点不能成为特征点。所以,我们得剔除它们。剔除的方式类似于Harris角点检测法中使用的方法。<br /> <br /> <br /> <br /> <br />移除低对比度的特征点<br /> <br />这很简单,如果在DOG图像中某点像素点的值小于某个特定的值,那么丢弃它。因为我们已经计算出亚像素点,我们需要使用taylo

2011-02-22 23:34:00 1052 1

转载 各大学的开放课程

<br />一、伯克利<br /> <br />加州大学伯克利分校 http://webcast.berkeley.edu/courses.php<br />作为美国第一的公立大学,伯克利分校提供了,可以跟踪最新的讲座。想看教授布置的作业和课堂笔记,可以点击该教授的网页,通常,他/她都会第一堂课留下网址。实在不行,用google搜搜吧!<br />伯克利的视频都是.rm格式,请注意转换<br />二、麻省<br />麻省理工学院 http://ocw.mit.edu/OcwWeb/web/courses/c

2011-02-22 22:36:00 887

原创 Sift算法-----part3

Sift算法-----part3      前言:知道现在,我们已经创建了尺度空间,并利用它计算出高斯差,这些是用来计算尺度不变的LOG,这些工作将会产生关键点。找到关键点,有两个步骤:     1、在DOG图像中找到最大值和最小值的分布情况。     2、找到最大值和最小值的子像素点。DOG图像中的最大值和最小值分布      第一步就是粗略地找出最大值和最小值的分布情况。这很简单,你遍历每一个像素点和它的所有相邻点。这种检查不只在当前图像中,同时包括它在一个容器中的上一层和下一层图片。就像这样:    

2011-02-22 18:52:00 1426

原创 Sift算法-----part2

<br />Sift算法-----part2<br /> <br /> <br /> <br /> <br /> <br />前言:<br />      在上一个步骤中,我们创建了图像的尺度空间,即逐步模糊图片,缩小它然后依次类推。现在,我们将使用模糊的图片去创建一系列的图片--高斯差(DOG)。这些DOG对找出图像的关键点十分重要。<br /> <br /> <br /> <br /> <br />高斯--拉普拉斯(Laplacian of Gaussian)算子:<br />      LOG算法的步

2011-02-22 13:19:00 1893 2

原创 Sift算法-----part1

Sift算法-----part1      前言:真实世界中的物体只有在某些尺寸中才有价值。比如,你在桌上放置了一台电脑,而你在电脑前,那么电脑就很好地存在。而当你在一个离电脑很远的地方查看时,它就像一粒尘埃,没有什么意义。尺度空间的概念旨在将现实中的这个理念用于数字图像的处理中。尺度空间:      你是可以选择看着一个树还是一片叶子,这取决于你的喜好。如果你选择了一棵树,那么你会选择忽略掉某些细节(例如叶子等)。当然你在选择忽略掉某些细节时,你必须保证不会引人更多的细节。唯一合理的方式是采用高斯模糊(在

2011-02-21 21:14:00 1373

原创 sift算法学习

SIFT: Scale Invariant Feature Transform(尺度不变特征转换)先介绍第一部分:在不同图片之间进行特征匹配是计算机图形学中一个常见的问题。在一般情况下,简单的角点检测就能达到目的。但是,当你拥有的图片不同尺寸,或者不同角度,sift算法就能派上用场。Sift是一个相当复杂的算法,需要相应的知识,而且很容易使人糊涂。我将算法分为以下如下几个部分: 一、构建尺度空间:这是初始步骤。你可以创建对原始图像的内部表示来保证尺寸不变,这就是构建尺度空间的工作。二、高斯--拉普拉斯(La

2011-02-21 00:01:00 1903 4

原创 岁月你别催 该来的我不推;岁月你别催 走远的我不追;

告别外星人,外星人走好!中央电视台节目里的那句----------岁月你别催 该来的我不推;岁月你别催 走远的我不追;让多少人感伤啊!他出自纵贯线《给自己的歌》 下面是歌词:想得却不可得你奈人生何该舍的舍不得只顾著跟往事瞎扯等你发现时间是贼了它早已偷光你的选择爱恋不过是一场高烧思念是紧跟著的好不了的咳是不能原谅却无法阻挡恨意在夜里翻墙是空空荡荡却嗡嗡作响谁在你心里放冷枪旧爱的誓言像极了一个巴掌每当你记起一句就挨一个耳光然后好几年都问不得闻不得女人香

2011-02-19 14:56:00 17315

原创 openCV学习笔记(8)-- 图像阈值化

图像阈值化:在对图像进行操作时,希望能对一些低于和高于一定值的像素进行操作。opencv的cvThreshold()可以完成某些任务。double cvThreshold(CvArr* src,CvArr* dst,double threshold, //Tdouble max_value, //Mint threshold_type); //只能处理8位或浮点灰度图像threshold_type包括一些类型选项CV_THRESH_BINARY(src>T)?M:0CV_THRESH

2011-02-17 08:54:00 7042 2

翻译 TIOBE 二月编程榜

C#和PHP的的增长依然强劲,大有赶超php的趋势排名1到20的编程语言

2011-02-13 11:07:00 1235 1

原创 基于swt和xml的java浏览器

该浏览器共有九个类Favourite.java操作收藏夹xml的java类package com.jbrowser.simple;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import java.util.HashMap;import jav

2011-02-13 10:02:00 2487 1

原创 openCV学习笔记(7)-- cvResize()尺寸调整

<br /> <br />尺寸调整:<br />void cvResize(const CvArr* src,CvArr* dst,int interpolation = CV_INTER_LINEAR //插值方法/*CV_INTER_NN 最近邻插值*CV_INTER_LINER 线性插值*CV_INTER_AREA 区域插值*CV_INTER_CUBIC 三次样条插值*/) <br /> 

2011-02-12 19:35:00 6397

原创 openCV学习笔记(6)-- cvFloodFill漫水填充算法

漫水填充算法(标记和分离图像的一部分)void cvFloodFill(IplImage* src,CvPoint seedPoint, //漫水法从点seedPoint开始实行算法CvScalar newVal, //像素点被染色的值CvScalar loDiff = cvScalarAll(0), //下标记--被染色的相邻点减去loDiffCvScalar upDiff = c

2011-02-12 19:30:00 13182

原创 openCV学习笔记(5)-- 图像形态学

<br /> <br />图像形态学主要有四个操作,即膨胀、腐蚀、开运算和闭运算<br />(1)在讨论四个操作之前,我们先看看核结构<br />IplConvKernel* cvCreateStructingElementEx(int cols,int rows,int anchor_x,int anchor_y,int shape,int* values = null); <br />void cvReleaseStructingElement(IplConvKernel

2011-02-12 10:37:00 4535

原创 openCV学习笔记(4)--cvSmooth函数

openCV平滑函数void cvSmooth( const CvArr* src, CvArr* dst, int smooth = CV_GAUSSIAN, int param1 = 3, int param2 = 0, int param3 = 0, int param4 = 0); 注解:(1)可能大家啊对CvArr的理解不是很深刻,可以将其看做C++中的基类,当然也包括IplImage(2)smooth支持的类型:CV_BLUR简单模糊 对每个像素param1,pa

2011-02-11 19:18:00 15720

七种主流的视频格式.doc

七种主流的视音频流媒体格式,八种流媒体视频格式的互相转换,数字视频技术名词解释

2011-02-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除