歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Java開源圖像處理框架Marvin介紹

Java開源圖像處理框架Marvin介紹

日期:2017/3/1 11:08:29   编辑:Linux編程

Java對圖像的處理框架比較少,目前比較流行的有Jmagick以及Marvin,但Jmagick只能處理圖像(上篇Java清除圖片中的惡意信息(利用Jmagick)中對Jmagick已做過簡略介紹 見 http://www.linuxidc.com/Linux/2011-11/46611.htm),而Marvin不但可以處理圖像,而且可以集成各種插件,操作視頻,攝像頭來達到各種效果。

Marvin 是一個Java開發的可擴展的圖像處理框架,該框架主要提供以下幾方面的功能:

  • 基本圖像操作;
  • 從視頻中捕獲幀;
  • 多線程的圖像處理;
  • 通過GUI界面集成插件;
  • 插件性能分析;
  • 通過插件進行功能擴展。

授權協議: 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加載圖片,修改大小後寫重新生成圖片的過程:

  1. package image;
  2. import marvin.image.MarvinImage;
  3. import marvin.io.MarvinImageIO;
  4. /**
  5. * Created on 2010-7-9
  6. * <p>Description: [Marvin學習]</p>
  7. * @author [email protected]
  8. * @version 1.0
  9. */
  10. public class MarvinTest
  11. {
  12. /**
  13. * Created on 2010-7-9
  14. * <p>Discription:[main]</p>
  15. * @param args
  16. * @author:[[email protected]]
  17. */
  18. public static void main(String[] args)
  19. {
  20. String srcFile = "c://img//b.jpg"; //源文件
  21. String dstFile = "c://img//bb.jpg"; //處理後的文件
  22. MarvinImage image = MarvinImageIO.loadImage(srcFile); //裝載圖像
  23. MarvinImage backupImage = image.clone(); //克隆圖像,確保對原圖不做修改
  24. backupImage.resize(800, 600); //設置新寬度和高度
  25. MarvinImageIO.saveImage(backupImage, dstFile); //保存圖像
  26. }
  27. }

可見Marvin的圖片管理是通過類MarvinImageIO來完成的。

具體API參考:http://marvinproject.sourceforge.net/javadoc/

另外:發現個小秘密,在經過resize()函數後,如圖片中有惡意信息,居然也會被清除的,這個功能不錯,哈哈~~~

Copyright © Linux教程網 All Rights Reserved