`
breezedancer
  • 浏览: 19281 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

JIMI的学习

阅读更多
网上有对他的简介很多,这不废话了,看看是怎么用,根据起自带的一些demo,简单说明下java对图片的处理

下载相应包(JimiProClasses.zip)并加到classpath,是个zip文件;
1.简单处理

java 代码
  1. import com.sun.jimi.core.*;   
  2. import java.awt.Image;   
  3.   
  4. public class JimiIsReallyEasy   
  5. {   
  6.  public static void main(String[] args) throws JimiException   
  7.  {   
  8.   if (args.length < 2) {   
  9.    System.err.println("Usage: JimiIsReallyEasy <source></source> <dest></dest>");   
  10.   }   
  11.   else {   
  12.    Image image = Jimi.getImage(args[0]);   
  13.    Jimi.putImage(image, args[1]);   
  14.    System.exit(0);   
  15.   }   
  16.  }   
  17. }   
  18.   

这样处理的结果图片变小了,效果却还可以,肉眼感觉不出

============================================================================================================================================


2. ColorReduce对图片颜色的降低处理

1)先准备一张图片,方便测试,放在与java文件同目录下
2)写代码ColorReduceTest.java
这里主要用到com.sun.jimi.core.util.ColorReducer这个类,在起demo中有错误,多了个util,去了就可以了;

java 代码
  1. import com.sun.jimi.core.*;//有相关的异常类,Jimi类,以及相应的JimiReader,JimiWriter   
  2. import com.sun.jimi.core.util.ColorReducer;   
  3. import java.awt.*;   
  4.   
  5. public class ColorReduceTest   
  6. {   
  7.  static Image image = null;   
  8.   
  9.  public static void main(String[] args) throws JimiException   
  10.  {   
  11.   if (args.length < 3) {   
  12.    System.err.println("Usage: ColorReduceWithJimi <source></source> <dest></dest> <# colors>");   
  13.    System.exit(1);   
  14.   }   
  15.   image = Jimi.getImage(args[0]);//装载图片   
  16.   image = reduceColors(image, Integer.parseInt(args[2]), true);//核心处理   
  17.   Jimi.putImage(image, args[1]);//保存图片   
  18.   System.exit(0);   
  19.  }   
  20.     
  21.  public static Image reduceColors(Image image, int colors, boolean dither)   
  22.  {   
  23.   ColorReducer reducer = new ColorReducer(colors, dither);//dither是慌乱,颤抖的意思   
  24.   Image img = null;   
  25.   try {   
  26.     img = reducer.getColorReducedImage(image);   
  27.   }   
  28.   catch (JimiException e) {   
  29.    System.out.println("Error color reducing/dithering");   
  30.   }   
  31.   return img;   
  32.  }   
  33. }   
  34.   

////////////////////////////
ColorReducer 方法的介绍
2个构造方法
ColorReducer
public ColorReducer(int maxColors)Creates a ColorReducer to perform color reduction on an Image without any dithering.
Parameters:
maxColors - the maximum number of colors in the reduced image
--------------------------------------------------------------------------------
ColorReducer
public ColorReducer(int maxColors,
                    boolean dither)Creates a ColorReducer to perform color reduction on an Image.
Parameters:
maxColors - the maximum number of colors in the reduced image
dither - true if the image should be dithered to create smoother results

其他方法
getColorReducedImageProducer
public java.awt.image.ImageProducer getColorReducedImageProducer(java.awt.image.ImageProducer producer)
                                                          throws JimiException
Perform color reduction.
Parameters:
producer - the ImageProducer to draw image data from
--------------------------------------------------------------------------------
getColorReducedImageProducer
public java.awt.image.ImageProducer getColorReducedImageProducer(java.awt.Image image)
                                                          throws JimiException
Perform color reduction.
Parameters:
image - the Image to draw image data from
-------------------------------------------------------------------------------
getColorReducedImage
public java.awt.Image getColorReducedImage(java.awt.image.ImageProducer producer)
                                    throws JimiException
Perform color reduction.
Parameters:
producer - the ImageProducer to draw image data from
--------------------------------------------------------------------------------
getColorReducedImage
public java.awt.Image getColorReducedImage(java.awt.Image image)
                                    throws JimiException
Perform color reduction.
Parameters:
image - the Image to draw image data from
--------------------------------------------------------------------------------
doColorReduction
protected JimiRasterImage doColorReduction(java.awt.image.ImageProducer producer)
                                    throws JimiException

#完#
---------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------------


二、
把gif图片处理成png

1.准备图片
2.编写代码

java 代码
  1. import com.sun.jimi.core.Jimi;   
  2. import com.sun.jimi.core.JimiException;   
  3. import com.sun.jimi.core.JimiWriter;   
  4. import com.sun.jimi.core.options.PNGOptions;//注意这里,转成其他格式也可以   
  5.   
  6. import java.awt.image.ImageProducer;   
  7.   
  8. /**  
  9.  * Simple class for saving PNG files with or without compression  
  10.  * as a demonstration of format-specific option usage.  
  11.  */  
  12. public class CustomOption   
  13. {   
  14.  public static void main(String[] args)   
  15.  {   
  16.   if (args.length < 3) {   
  17.    System.err.println("Convert a file to PNG with compression on or off.");   
  18.    System.err.println("Usage: CustomOption <source></source> <dest></dest> ");   
  19.    System.exit(1);   
  20.   }   
  21.   String source = args[0];   
  22.   String dest = args[1];   
  23.   String compression = args[2];//压缩情况   
  24.   
  25.   // only handle PNG files   
  26.              // 如果存为非png的格式,则自动加png格式结尾   
  27.   if (!dest.endsWith("png")) {   
  28.    dest += ".png";   
  29.    System.out.println("Overriding to PNG, output file: " + dest);   
  30.   }   
  31.   
  32.   try {   
  33.    PNGOptions options = new PNGOptions();   
  34.    if (compression.equals("max")) { //对压缩情况处理   
  35.     options.setCompressionType(PNGOptions.COMPRESSION_MAX);   
  36.    }   
  37.    else if (compression.equals("none")) {   
  38.     options.setCompressionType(PNGOptions.COMPRESSION_NONE);   
  39.    }   
  40.    else {   
  41.     options.setCompressionType(PNGOptions.COMPRESSION_DEFAULT);   
  42.    }   
  43.    ImageProducer image = Jimi.getImageProducer(args[0]); //Get an ImageProducer for an image.   
  44.    JimiWriter writer = Jimi.createJimiWriter(dest); // Create a JimiWriter to control encoding of an image                  writer.setSource(image); //Set the source image to be written.   
  45.    writer.setOptions(options); //Set the options to use for encoding.   
  46.    writer.putImage(dest); //Write the source to a file.   
  47.   }   
  48.   catch (JimiException je) {   
  49.    System.err.println("Error: " + je);   
  50.   }   
  51.  }   
  52. }   
  53.   

经过max压缩,文件缩小了些,清晰度却肉眼没有感觉到变化
更多说明请看api
=============================================================================================================================================

分享到:
评论

相关推荐

    Jimi开发包

    2. 图像分析:在机器学习项目中,Jimi可以帮助预处理图像,如归一化、直方图均衡化等,提升模型的训练效果。 3. 图像识别:在OCR(光学字符识别)或者人脸识别等应用中,Jimi可以用来提取和处理图像特征。 4. 图像...

    JIMI图片处理

    通常,这样的示例会包含主类、配置文件和其他辅助类,通过这些内容你可以学习到如何导入JIMI库,创建BufferedImage对象,调用处理方法,以及保存结果图像。在阅读和运行这些示例时,要特别注意类的继承关系、方法的...

    【精品】京东JIMI用户未来意图预测-京东邹波.pdf

    JIMI的机器学习模型通过一系列调优策略来提高预测准确性,包括但不限于: - L2正则化 - 大规模样本训练 - Dropout机制 - 反向传播优化 - 学习率调整 - 权重初始化和优化算法 - 激活函数选择 #### 7. 用户体验提升 ...

    jimi包+src(图像处理)

    "jimi包+src(图像处理)" 是一个与图像处理相关的资源包,它包含了源代码(src)以及可能用于开发或学习的API文档。这个包很可能是从www.sun.com这个网站下载的,这是一个历史悠久的互联网域名,曾经是Sun ...

    Hendrix, Jimi

    这个名为“Hendrix, Jimi”的压缩包文件包含了吉米·亨德里克斯的部分吉他谱,这对于学习和研究亨德里克斯的音乐风格、演奏技巧以及曲目的吉他爱好者来说是一份宝贵的资源。吉他谱是音乐家之间交流和学习的重要工具...

    京东智能机器人(无人客服).pptx

    JIMI运用了自然语言处理、深度神经网络和机器学习技术,结合用户画像和大数据分析,提供从售前到售后的全方位服务。它不仅在PC端和移动端设有入口,如商详页、网站侧边栏、帮助中心,在线客服页,还覆盖了移动APP、...

    jimiPlugin-azurebotservice:Jimi集成提供了用于网络聊天的Azure机器人服务和MS团队机器人支持

    开发者或IT专业人员可以通过查看源代码了解如何与Azure Bot Service和Microsoft Teams接口,学习如何自定义机器人的行为,或者扩展其功能以满足特定业务需求。此外,他们还可以利用这个插件作为模板,开发自己的Jimi...

    codigos_jimi

    标题“codigos_jimi”可能指的是一个编程项目或者代码库,主要使用了C++语言,这从标签“C++”可以推断出来。C++是一种强类型、静态类型的...在深入学习和实践“codigos_jimi”项目时,可以逐步掌握和理解这些技术。

    mnn windows centerface 示例项目

    在人工智能领域,深度学习和机器学习是当前炙手可热的技术,它们为计算机视觉、自然语言处理等多个方向提供了强大的支持。MNN,全称为Mobile Neural Network,是由阿里巴巴达摩院研发的一款轻量级、高性能的深度学习...

    RMI一步一步学习

    博文链接:https://jimi68.iteye.com/blog/87021

    机械传动系统PPT学习教案.pptx

    在等效转动惯量的计算中,我们通常使用公式J = ∑nj*jimi来计算负载的等效转动惯量,其中nj是转动部件的数目,ji是转动部件和移动部件之间的转动关系,mi是转动部件的质量,I是转动惯量。等效负载力矩的计算则涉及...

    对话机器人现状与智源大会总结(2020.6)1

    对话机器人的分类主要包括基于应用场景的三大类:在线客服,如京东的JIMI,专注于解决产品和服务问题,降低客服成本;娱乐型,如微软小冰,用于陪伴和娱乐;教育型,如适应不同学习内容的交互式教学工具。这些机器人...

    藏经阁-人工智能技术推动京东打造智能商业体.pdf

    智能营销方面,京东商城研发部推出了基于机器学习和深度学习技术的智能营销解决方案,旨在预测用户需求、提供个性化的营销建议、提高销售效率和Conversion Rate。 智能供应链方面,京东商城研发部推出了基于大数据...

    京东无人客服

    京东无人客服是京东集团利用人工智能技术,结合大数据分析和深度学习算法,推出的智能客服系统。该系统通过智能机器人与人工客服的无缝整合,为用户提供更高效、更个性化的服务体验,颠覆了传统客服的体验模式。以下...

    人工智能在提升电子商务营销技术服务的应用研究.pdf

    比如,京东的智能机器人“JIMI”和阿里巴巴的“店小蜜”可以在电子商务销售环节中处理超过80%的顾客咨询问题,大大减少了响应时间。 推荐引擎是人工智能在电商领域的另一项重要应用,其功能是分析大数据并结合推荐...

    05-1-4AI在互联网新商业中的应用_学习课件.pdf

    AI 还可以应用于京东智能机器人 JIMI,承担超过 30% 的京东客服任务,全面提升电商平台的用户体验智能客服个性搜索推荐精准营销智慧物流智慧供应链等。 AI 电商应用可以分为四大方面: 1. 提升服务品质降低人工...

    Java实现图片格式转化(图形界面)

    综上所述,"ImageChanger"项目涵盖了Java GUI编程、图像处理、多线程、文件I/O和异常处理等多个核心知识点,是一个很好的学习和实践Java桌面应用程序开发的例子。通过深入理解和实践这些技术,开发者可以构建出更多...

    PythonFor S60 开发

    这个环境使得开发者无需深入学习复杂的原生Symbian C++,就能快速构建功能丰富的手机应用。 ### Python for S60 API 文档 Python for S60 的API文档是开发者的重要参考资料,它详细阐述了如何利用Python语言在S60...

Global site tag (gtag.js) - Google Analytics