自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 linux系统上编译arm版的protobuf库

准备条件:1.安装gcc编译器和make2.安装arm-linux或其他arm编译器可以用arm-linux-gcc -v和gcc -v来检查编译器版本。 从官网下载protobuf-2.5.0.tar.gz.第一步是编译出x86版的库和protoc,按顺序执行下列命令tar -zxvf protobuf-2.5.0.tar.gzcd protobuf-2.5.

2014-01-07 16:47:26 7499 1

翻译 JNI编程经验(JNI Tips)

翻译原文来自:http://developer.android.com/intl/zh-cn/training/articles/perf-jni.htmlJNI全称是Java Native Interface, 它是一种使用java语言和原生C/C++语言相互调用,混合编程的方法. 它支持从动态链接库中加载代码, 并能使用C/C++的高效的特性如果你之前对这个还不熟悉, 完整的读一遍

2014-01-06 19:30:07 21333 1

转载 JNI引用与垃圾回收

本文转自http://hubingforever.blog.163.com/blog/static/171040579201221553444677/ 本文转载整理自: http://my.unix-center.net/~Simon_fu/?p=849http://my.unix-center.net/~Simon_fu/?p=856http://docs.oracle.

2014-01-03 11:30:08 4531 1

原创 OpenCV学习笔记3:找出人脸,同时比较两张图片中的人脸相似度

终于到了有实际应用的功能了,有2张图片,里面各有一个人脸,我的目的是比较这两个人脸的相似度,这里用到了facedetect的功能,还有图像转换,图像剪切,以及直方图的比较。具体流程是:    1。分别用facedetect功能将两张图片中的人脸检测出来    2。将人脸部分的图片剪切出来,存到两张只有人脸的图片里。    3。将这两张人脸图片转换成单通道的图像    4。使用直方图

2012-11-12 18:50:49 36941 16

原创 OpenCV学习笔记2:使用opencv进行图像比较

比较两个图像是否相似,这个应用范围十分广泛,我刚开始总以为这个技术十分高深(当然也是百分高深),要入门得学很多的相关知识,起码得方方面面都有一定的了解了才能来做这方面的研究。    但是opencv提供了一套API来做这个的比较,使我们很简单的就能对2个图片进行比较,这就是直方图的比较,直方图英文是histogram, 原理就是就是将图片转换成直方图,然后对直方图进行比较,在某些程度,真实地反

2012-11-09 14:44:20 25726 3

原创 OpenCV学习笔记1:使用Camera获取图像,并用Canny转换成边缘图,并支持鼠标点击保存图片

最近对OpenCV产生了兴趣,然后下载OpenCV2.4.2,安装到了unbuntu和windows上,又看了很多相关的资料,比如学习opencv, opencv_tutorials(Opencv自带的)等等,也运行了里面自带的所有例子,然后发现里面的一些算法原理一点都不明白,不得已,又去找了一本计算机图形学.(美国)Peter.Shirley.清晰版来阅读,但还是半懂不懂,就决定从自己的初衷出发

2012-11-01 16:09:47 5282 4

原创 华容道算法和使用广度搜索的一些单人游戏求解框架

最新无聊在玩华容道,结果玩的时候,有些关不知道怎么过,就自己想着写程序来求最小还原步数。经过一番搜索和思考,写出来下面的代码,其中借鉴了别人的红黑树的代码,还有就是使用广度搜索来求解的思想。      在写算法的过程中,突然想到还有其他的单人游戏也是可以用广度搜索来求解的,因此,就针对这类游戏写了一个框架,适用于状态数不会太变态的游戏,例如华容道,Unblock me(移动木块)之类的游戏。3

2012-10-08 18:26:35 3723

原创 Android 中判断一个程序是否为输入法程序

实际中我们会碰到要求判断哪些程序是输入法,比如,一个内存优化工具,在优化时可能想除了系统程序和输入法程序,其他程序都kill掉。否则,如果杀掉输入法程序,用户输入时就可能碰到无法输入非英文之外的字符。这样的话,用户会不再使用这个工具。     判断一个程序是否是输入法,可以通过解析它的Androidmanifest.xml文件,读取它的所有services列表,如果其中一个的android:p

2012-09-19 16:31:29 2849

原创 使用native程序来守护android进程

问题的提出目前android的系统,我们的程序常常由于几种原因被停掉或杀掉而不能及时重启,这对于一个安全程序来说是有相当的隐患的。例如当用户从程序管理里面停掉程序。 其他程序优化系统时杀掉程序。 程序崩溃。 在android系统里,其他程序还能禁掉我们程序各种广播接受器,导致我们程序不能根据广播来启动。问题的解决因此,这里我想了一个办法来解决这个问题。

2012-09-11 15:41:03 13153 19

原创 adb安装apk报错[INSTALL_FAILED_INVALID_APK]的一个解决办法

今天在android 4.1的手机上做一个恢复程序功能时发现,在adb shell里用pm install -r /data/local/tmp/temp.apk时报错,错误是Failure [INSTALL_FAILED_INVALID_APK], 在网上查了半天没找到这个问题的原因,就自己试试找原因。       我发现这个文件的读写属性是rw-------, 属主是root,因为是用ro

2012-09-07 10:57:32 63012 6

原创 使用NDK build android上的busybox.

在android上,为了某些需要,我们需要一个小而精减的busybox(如果不懂busybox是什么),请跳过此文。当然我们也可以用gcc的toolchains来build, 但生成出来的那个二进制文件的size会让你疯狂。而用NDK生成出来的二进制则是gcc生成的五分之一左右。

2011-08-16 19:16:07 7441 1

原创 使用NDK生成native C/C++的可执行程序

众所周知, NDK可以生成lib,让java程序通过jni来调用,其实,NDK也可以生成C/C++的可执行程序.不过这个程序要被执行的话还有要求.    1.手机是破解过具有root权限的.    2.可执行文件的名字必须是lib*.so. 否则apk安装时不会安装上去,也可以考

2011-07-13 10:38:05 9804 6

原创 Qt:支持鼠标拖动来移动内容的窗口

Qt 鼠标拖动 窗口内容移动 事件 drag move installEventFilter eventFilter

2011-05-18 15:50:00 5642

翻译 位运算艺术(一)

位运算 优化 计算置1的位数 最大值 最小值

2011-05-11 16:07:00 3327 2

原创 身高排队算法-(较优解):12个高矮不同的人,排成两排,每排必须是从矮到高排列,而且第二排比对应的第一排的人高,问排列方式有多少种?

本人对解决算法有兴趣,曾在网上看到过一道阿里巴巴的面试题.题目是这样的:12个高矮不同的人,排成两排,每排必须是从矮到高排列,而且第二排比对应的第一排的人高,问排列方式有多少种?所以自己也考虑了一个算法,也在网上看到别人的不同的算法。感觉我这个算法遍历效率很高,而且也很简洁(不敢用最来形容,怕强中更有强中手,当然如果能推导出公式来求解的话肯定会比我这个算法快,不过目前还不知道这个公式是怎样的).我的算法思想是这样的:(1)把排队的问题转换成数字排列问题,类似于0- 11这12个数排成2行。(2)可以只考虑前

2011-04-22 14:30:00 15575 1

原创 数独求解算法

算法基本思想:1.数据结构,利用short来存每个格子的值。利用低位的9个bit来表示每个格子的值,如果是待确定的格子,则初始化时将最高位的bit置1,低位9个bit全部置1. 如果是已给出或推算出确定的唯一值,只要置上低位9个bit里对应的1个bit。2.求解思路   (1)遍历每个待确定的格子S,    首先排除S所在9宫其他已确定的值,将那些值对应的bit置0。   第二,排除S所在列的其他已确定的值,将那些值对应的bit置0。   第三,排除S所在行的其他已确定的值,将那些值对应的bit置0。  

2011-04-20 12:09:00 5212 1

原创 A star算法的一些研究

最短路径算法 A* star Dijkstra

2011-03-17 11:05:00 5981

原创 学习笔记-翻译资料:Android 2.3.3 近场通信NFC介绍(本人翻译的)

NFC(近场通信)NFC是一套短距离的无线通信,通常距离是4厘米或更短。NFC工作频率是13.56M Hz,传输速率是106kbit/s 到848kbit/s. NFC总是在一个发起者和一个被动目标之间发生。发起者发出近场无线电波,这个近场可以给被动目标供电。这些被动的目标包括不需要电源的标签,卡,也可以是有电源的设备。与其他无线通信技术比较,例如蓝牙和WiFi, NFC提供更低贷款和距离,并且低成本,不需要供电,不需要实现匹配,整个通信过程仅仅是短短的靠近一秒就能完成。一个带有NFC支持的android设

2011-03-04 17:08:00 21534 21

原创 Android学习笔记:Activity跨进程调用service。

Android, Service, Activity, IPC, aidl, 不同进程

2011-02-18 16:32:00 4169 1

原创 学习笔记: linux下静态库与动态库的生成与调用

首先,这里有2个概念:静态库,动态库.静态库:       是程序在链接时将静态库拷贝到可执行文件里,即生成可执行文件后,即使删除静态库,可执行文件仍可正常执行。动态库:      也叫共享库,程序只是在链接时在可执行文件时保存了该库的信息,可执行文件执行时候需要到LD_LIBRAY_PATH或者/etc/ld.so.config里指定的路径去寻找该库并加载调用,因此如果删除该库,

2011-02-11 16:20:00 1863

俄罗斯积木方块拼图算法

俄罗斯 积木 方块 拼图 算法

2023-03-13

空空如也

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

TA关注的人

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