2010年8月26日木曜日

Using Emgu CV on Mac OSX


Yesterday, I thought of trying to run Emgu CV on Mac OSX.
I write what I did for that here.

*Emgu CV is a OSS Open CV wrapper for .Net framework.

OS: Mac OSX Snow Leopard (10.6.4) failed
Mac OSX Leopard(10.5.8) succeed!

1. Installing Mono and Monodevelop (for now you dont really need Monodevelop)

== Japanese problem ==
You need to specify a font that can be used for your own language if you are using Multi-bytes.
Create next file with admin authority.
/Library/Frameworks/Mono.Framework/Version/Current/etc/pango/pango.aliases
Write a line like below.
"Lucida Grande" = "Hiragino Kaku Gothic Pro"
==================

2. Installing depending libraries via Macports
sudo port selfupdate
sudo port upgrade outdated
sudo port install cmake
sudo port install ffmpeg
sudo port install tiff
3. Get a source code from SVN repository
svn co https://emgucv.svn.sourceforge.net/svnroot/emgucv/trunk emgucv
4. Creating make file by cmake
cmake -DBUILD_NEW_PYTHON_SUPPORT:BOOL=FALSE -DBUILD_TESTS:BOOL=FALSE .

5. Executing make
make
6. Running samples
move to bin directory
set value to read library from current directory

export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH
execute a sample
mono Example.PlanarSubdivision.monoexe
Error!
System.DllNotFoundException
7. Setting Log level and execute again
MONO_LOG_LEVEL=debug mono Example.PlanarSubdivision.monoexe
It seems 64bit is not supported by Mono 2.6.7 so that it is hard to run on Snow Leopard.

8. Trying to build with 32bit option
cmake -DCMAKE_OSX_ARCHITECTURES=i386 -DBUILD_NEW_PYTHON_SUPPORT:BOOL=FALSE -DBUILD_TESTS:BOOL=FALSE .
got an error at make command.
It said something like Open CV should be 64bit...

hmm, I gave up with Snow Leopard ...

9. Trying with Leopard (10.5.8)
Mostly same as above however library path was different so set as below.
export LD_LIBRARY_PATH=../lib:.:$LD_LIBRARY_PATH
I could run the sample!

2010年7月18日日曜日

Tomcat 6 grant setting for GWT, Lucene, JPA, HIbernate and Spring Framework

WIth Ubuntu 10.04,

Running GWT on Tomcat6 with Lucene, JPA, Hibernate and Spring Framework,
you need to grant many permissions.

Write in, "04webapps.policy"

grant {

permission java.util.PropertyPermission "user.dir", "read";
permission java.util.PropertyPermission "org.apache.lucene.lockDir", "read";
permission java.util.PropertyPermission "sun.arch.data.model", "read";
permission java.util.PropertyPermission "org.apache.lucene.store.FSDirectoryLockFactoryClass", "read";
permission java.util.PropertyPermission "org.apache.lucene.analysis.standard.StandardAnalyzer.replaceInvalidAcronym", "read";
permission java.util.PropertyPermission "cglib.debugLocation", "read";
permission java.util.PropertyPermission "ANTLR_DO_NOT_EXIT", "read";
permission java.util.PropertyPermission "ANTLR_USE_DIRECT_CLASS_LOADING", "read";


//Required for Spring Framework
permission java.lang.RuntimePermission "createClassLoader";
permission java.lang.reflect.ReflectPermission "suppressAccessChecks";
permission java.lang.RuntimePermission "getProtectionDomain";
permission java.net.SocketPermission "127.0.0.1:3306","connect,resolve,listen,accept";
permission java.net.SocketPermission "localhost:3306","connect,resolve,listen,accept";

Linux and Proxy setting notes

Linux & proxy settings are always very bothersome to search.

[apt-get] export command or set as a environmental variable
export http_proxy=http://[address]:[port]/

[wget] xport command or set as a environmental variable
export http_proxy=http://[address]:[port]/

[yum] 環xport command or set as a environmental variable
export http_proxy=http://[address]:[port]/

[rpm] use command line options
rpm --httpproxy [address] --httpport [port]

Ubuntu 10.04 sudo via ssh

When you try to send sudo command via ssh, I got this message.
sudo: no tty present and no askpass program specified

There are some entries that says you should comment out "Defaults requiretty" from /etc/sudoers, however, there is no such line in the file for Ubuntu 10.04.

Writing "Defaults visibletty" works fine although you password will be visible when you type.

It didn't sound the best solution and I found out that using "-t" option for ssh command is better way. Then the command will be something like this.

ssh -t [address] sudo shutdown -h now

In addition,
Writing the following like in "/etc/sudoers" will let you "sudo" without prompting password request.
username ALL=NOPASSWD: ALL

2010年3月1日月曜日

Japanese Morphological Analyzer on GAE

I made a Japanese morphological analyzer on Google Apps Engine.

You can input Japanese sentences and then you will see the analysis result.
http://onlinejpanalyser.appspot.com/sen/

I used Slim3 that is a full-stack MVC framework optimized for Google App Engine/Java.
Also, I used Sen to analyze Japanese sentences.