Java中的Integer.valueoOf(String)的诡异行为

Sun 22 December 2013 by XiaomengZhao

今天看到stackoverflow中有个一非常有意思的问题,特把它翻译出来收藏。StackOverflow原帖地址为http://stackoverflow.com/questions/20877086/confusion-in-method-integer-valueofstring/ .

问题是这样的:

System.out.println(Integer.valueOf("127")==Integer.valueOf("127"));
System.out.println(Integer.valueOf("128")==Integer.valueOf("128"));
System.out.println(Integer.parseInt("128")==Integer.valueOf("128"));

输出的却是:

true
false
true

问题解决:

Interger类的valueOf返回的是Integer对象。默认情况下,如果参数在-128到127之间,则返回缓存中的对象 ...

read more

使用JavaCV进行人员检测

Mon 16 December 2013 by XiaomengZhao

JavaCV是OpenCV的Wrapper,通过JNI调用OpenCV,按理说JavaCV和OpenCV应该是等价的,但是JavaCV并不像最近比较新的使用python调用OpenCV那么完善,没有例子,没有API文档,在使用中间会遇到各种问题,特以此文来记录自己遇到的问题和如何解决。

1. 如何新建一个JavaCV的Maven工程

在pom.xml中加入:

标签<repostiories>中加入javacv的远程仓库地址:

<repository>
   <id>javacv repo</id>
   <url> http://maven2.javacv.googlecode.com/git/</url>
</repository>

标签<dependencies>中加入javacv的相关依赖:

<dependency>
    <groupId>com.googlecode.javacv</groupId>
    <artifactId>javacv</artifactId>
    <version>0.6</version>
</dependency>
<dependency>
    <groupId>com.googlecode ...
read more

Xuggler tutorial 1 使用xuggle进行视频操作(译+修改)

Fri 13 December 2013 by XiaomengZhao
原文网址:http://www.javacodegeeks.com/2011/02/introduction-xuggler-video-manipulation.html

随着互联网视频数量的爆发,开发者需要在他们的应用中非常频繁地操作视频数据。Xuggle为Java开发者提供的开源的库,能够解压,处理和压缩存储的视频数据和实时的现场直播的视频数据。Xuggle使用了非常强有力的FFmpeg媒体操作库,是FFPEG的Java Wrapper,使得开发能够使用Java更好的解压,修改媒体文件。

FFmpeg是一个完整的,跨平台的用来记录,转换,流式化音频和视频文件,支持多种格式。可能您不清楚你在使用它,但是其实你已经在使用了。但是,Xuggle不仅仅是提供给你使用复杂的FFmpeg的简单方法。Xuggle dev团队还在帮助优化FFmpeg。

然后我们需要安装FFmpeg。注意Xuggle自带了FFmpeg(优化过的)来避免错误的配置,所以你不需要自己手动的获取FFmpeg。但是在这个教程中,我们在使用Xuggle之前,需要使用FFmpeg测试一些操作,所以我们需要先分开安装FFmpeg。

FFmpeg下载页下载。Linux可以下载源代码然后编译(注:Linux其实也有编译好的包)。而Windows的话,可以下载编译好的二进制包,然后可以找到ffmpeg.exe执行程序。将它拷贝到特定目录 ...

read more
Fork me on GitHub