Java开源图像处理框架Marvin介绍
2010-07-09 10:45
246 查看
Java对图像的处理框架比较少,目前比较流行的有Jmagick以及Marvin,但Jmagick只能处理图像(上篇Java清除图片中的恶意信息(利用Jmagick)中对Jmagick已做过简略介绍),而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加载图片,修改大小后写重新生成图片的过程:
可见Marvin的图片管理是通过类MarvinImageIO来完成的。
具体API参考:http://marvinproject.sourceforge.net/javadoc/
另外:发现个小秘密,在经过resize()函数后,如图片中有恶意信息,居然也会被清除的,这个功能不错,哈哈~~~
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加载图片,修改大小后写重新生成图片的过程:
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(800, 600); //设置新宽度和高度 MarvinImageIO.saveImage(backupImage, dstFile); //保存图像 } }
可见Marvin的图片管理是通过类MarvinImageIO来完成的。
具体API参考:http://marvinproject.sourceforge.net/javadoc/
另外:发现个小秘密,在经过resize()函数后,如图片中有恶意信息,居然也会被清除的,这个功能不错,哈哈~~~
相关文章推荐
- 图像处理框架 Core Image 介绍
- 图像处理框架 Core Image 介绍
- Java 图像处理框架-Marvin
- 深度学习框架Tensorflow学习与应用 图像数据处理之一
- 图像处理程序框架—MFC相关知识点
- ImageDraw SDK for .NET图像处理控件下载及详细介绍
- PHP图像处理之imagecreate、imagedestroy函数介绍
- 处理bmp图像的程序框架
- 视频图像处理基础知识3(DCLK/HS/VS/DE信号介绍)
- 机器视觉开源处理库汇总-介绍n款计算机视觉库/人脸识别开源库/软件 -几种图像处理类库的比较-视觉相关网站
- 超详细介绍 图像处理(卷积)
- Python图像处理库:PIL中Image,ImageDraw等基本模块介绍
- 图像处理之中值滤波介绍及C实现
- 2D图像处理框架-目录
- 图像处理算法回顾基本框架
- Python图像处理库PIL的基本模块介绍
- Python图像处理库PIL的Image模块介绍(二)
- VBA处理文件框架代码 【第六部分:目录结构,框架功能介绍】
- 图像处理与识别书籍介绍
- iOS:GPUImage强大的图像处理框架