Java對圖像的處理框架比較少,目前比較流行的有Jmagick以及Marvin,但Jmagick只能處理圖像(上篇Java清除圖片中的惡意信息(利用Jmagick)中對Jmagick已做過簡略介紹 見 http://www.linuxidc.com/Linux/2011-11/46611.htm),而Marvin不但可以處理圖像,而且可以集成各種插件,操作視頻,攝像頭來達到各種效果。
Marvin 是一個Java開發的可擴展的圖像處理框架,該框架主要提供以下幾方面的功能:
授權協議: GPL
開發語言: Java
操作系統: 跨平台
項目主頁: http://marvinproject.sourceforge.net/en/index.html
目前插件提供的效果:
藝術化(馬塞克,電視效果)、模糊、紋理、分割、變形、渲染、圖案、直方圖、邊緣檢測等等,
具體參考:http://marvinproject.sourceforge.net/en/plugins.html
截個電視效果的圖大家看下:
使用方法:
1. 下載MarvinFramework_1.3.1(圖像處理框架)和JMF1.2(Java媒體處理框架)
2. 將marvin_1.3.1.jar拷貝到你的lib目錄,marvin整個文件夾拷貝到工程根目錄,該文件夾包含了各種圖片處理插件。
3. 若需要對視頻處理,則將JMF1.2解壓後的customizer.jar、jmf.jar、multiplayer.jar、mediaplayer.jar拷貝到你的工程lib目錄,另外
該框架中還有一個jmf-2_1_1e-windows-i586.exe需要安裝,這樣才能操作你的攝像頭,並釋放必要的dll文件。
下面是個簡單程序,演示了Marvin加載圖片,修改大小後寫重新生成圖片的過程:
可見Marvin的圖片管理是通過類MarvinImageIO來完成的。
具體API參考:http://marvinproject.sourceforge.net/javadoc/
另外:發現個小秘密,在經過resize()函數後,如圖片中有惡意信息,居然也會被清除的,這個功能不錯,哈哈~~~