Java开源图像处理框架Marvin介绍

Java对图像的处理框架比较少,目前比较流行的有Jmagick以及Marvin,但Jmagick只能处理图像(上篇Java清除图片中的恶意信息(利用Jmagick)中对Jmagick已做过简略介绍 见 ),而Marvin不但可以处理图像,而且可以集成各种插件,操作视频,摄像头来达到各种效果。

Marvin 是一个Java开发的可扩展的图像处理框架,该框架主要提供以下几方面的功能:

基本图像操作; 从视频中捕获帧; 多线程的图像处理; 通过GUI界面集成插件; 插件性能分析; 通过插件进行功能扩展。

授权协议: GPL

开发语言: Java

操作系统: 跨平台 

项目主页: 

目前插件提供的效果:

艺术化(马塞克,电视效果)、模糊、纹理、分割、变形、渲染、图案、直方图、边缘检测等等,

具体参考:

截个电视效果的图大家看下:

电视效果

使用方法:

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加载图片,修改大小后写重新生成图片的过程:

package image;   import marvin.image.MarvinImage;   import marvin.io.MarvinImageIO;   /**   * Created on 2010-7-9   * <p>Description: [Marvin学习]</p>   * @author         shixing_11@sina.com   * @version        1.0  */   public class MarvinTest   {       /**       * Created on 2010-7-9        * <p>Discription:[main]</p>       * @param args       * @author:[shixing_11@sina.com]       */       public static void main(String[] args)       {           String srcFile = "c://img//b.jpg";     //源文件           String dstFile = "c://img//bb.jpg";    //处理后的文件           MarvinImage image = MarvinImageIO.loadImage(srcFile);  //装载图像            MarvinImage backupImage = image.clone();  //克隆图像,确保对原图不做修改            backupImage.resize(800600);   //设置新宽度和高度            MarvinImageIO.saveImage(backupImage, dstFile);   //保存图像        }   }  

可见Marvin的图片管理是通过类MarvinImageIO来完成的。

具体API参考:

另外:发现个小秘密,在经过resize()函数后,如图片中有恶意信息,居然也会被清除的,这个功能不错,哈哈~~~

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wypwsz.html