0 0

关于ImageMagick在windows下处理dcm图片的问题0

      各位大神,本人最近遇到一个问题,特来请教。需求:处理dcm(dicom3.0标准)图片,压缩到100K左右的web格式,转换为jpg,用java代码来操作。在linux上用ImageMagick来处理是可以用的,因为各种library加上之后,重新编译就可以运行成功,但现在业务上的需求是用java写一个客户端在客户的电脑上运行,一般说来是windows系统(xp更多),这个客户端直接在客户电脑上压缩和转换dcm图片为jpg(用im4j来调用ImageMagick),现在的关键是我用ImageMagick来处理windows上的业务,发现报下面的错:

 

C:\Program Files\ImageMagickQ16>identify.exe d:/2.dcm
identify.exe: Unsupported JPEG process: SOF type 0xc3 `C:/Users/ADMINI~1/AppData
/Local/Temp/magick-5416xkOfuXpYb7Wx' @ error/jpeg.c/JPEGErrorHandler/319.

在国外的论坛上问到了原因,是因为缺少无损jpeg的支持库,可是在windows下面我要如何才能加入jpeg2000的支持?搞了好久也不知道怎么办,求教各种如果用java来处理dcm,或者如果用 ImageMagick在windows上处理高清的dcm文件。

附件里面附一个测试用的文件吧,这个文件请各位不要流传,是真实的医用ct片。谢谢各位了。

 


问题补充:jpeg库应该是lossless JPEG  ,不是jpeg2000,jpeg2000 imageMagick是支持的。
2013年11月15日 14:25
  • 2.zip (6.7 MB)
  • 下载次数: 12

2个答案 按时间排序 按投票排序

0 0

哥们,你这问题我也遇到过,最终通过读源代码搞定。如果你在window环境使用,首先必须安装image-magic软件,并配置环境变量。其次,修改它的源代码,把源代码重新打包成jar.  源码如何修改见示例:
修改info类
private void getCompleteInfo(String pImage, InputStream pInput)
                                                          throws InfoException {
 
String imageMagickPath = "C:/Program Files/ImageMagick-6.8.7-Q16";  
IMOperation op = new IMOperation();
    op.verbose();
    op.addImage(pImage);

    try {
      IdentifyCmd identify = new IdentifyCmd();
      IdentifyCmd.setGlobalSearchPath(imageMagickPath);      ArrayListOutputConsumer output = new ArrayListOutputConsumer();
      identify.setOutputConsumer(output);
      if (pInput != null) {
        Pipe inputPipe = new Pipe(pInput,null);
identify.setInputProvider(inputPipe);
      }
      identify.run(op);
      ArrayList<String> cmdOutput = output.getOutput();

      StringBuilder lineAccu = new StringBuilder(80);
      for (String line:cmdOutput) {
if (line.length() == 0) {
  // accumulate empty line as part of current attribute
  lineAccu.append("\n\n");
} else if (line.indexOf(':') == -1) {
  // interpret this as a continuation-line of the current attribute
  lineAccu.append("\n").append(line);
} else if (lineAccu.length() > 0) {
  // new attribute, process old attribute first
  parseLine(lineAccu.toString());
  lineAccu = new StringBuilder(80);
  lineAccu.append(line);
} else {
          // new attribute, but nothing old to process
  lineAccu.append(line);
}
      }
      // process last item
      if (lineAccu.length() > 0) {
parseLine(lineAccu.toString());
      }

      // finish and add last hashtable to linked-list
      addBaseInfo();
      iAttribList.add(iAttributes);
     
    } catch (Exception ex) {
      throw new InfoException(ex);
    }
  } 

加粗部份换成你自已的安装路径。 可以通过sytem.getEnv()得到环境变量中信息,在IdentifyCmd对象调用前设置IdentifyCmd.setGlobalSearchPath(imageMagickPath); 便搞定。  

2013年11月15日 18:08
0 0

ImageMagick的问题,是不可以到他的官网问问

2013年11月15日 14:32

相关推荐

    imageMagick给图片加字,windows批处理

    使用ImageMagick给图片在指定位置加文字,可以实现P图软件一样的效果。加上for循环语句,可以实现批量给图片加文字。 关于ImageMagick,是一款免费的命令行图像处理软件,支持windows,linux,Mac OS多平台,下载...

    ImageMagick_windows处理

    ImageMagick 使用 ini_set('display_errors',1); header('Content-type: image/jpeg'); $image = new Imagick('1.jpg'); $image-&gt;thumbnailImage(100,0); echo $image; ?&gt;

    imagemagick-windows.zip

    这个“imagemagick-windows.zip”文件包含了专为Windows操作系统优化的ImageMagick版本,允许用户在Windows环境下方便地处理图像。 在Windows上安装ImageMagick,首先需要解压“imagemagick-windows.zip”。解压后...

    ImageMagick-- 图片处理

    在IT行业中,ImageMagick被广泛用于自动化图像处理任务,例如网站的缩略图生成、图像格式转换、批量处理大量图片等。 **主要功能** 1. **图像转换**:ImageMagick可以将一种图像格式转换为另一种格式,支持包括...

    Java图片处理工具ImageMagick

    1. 安装ImageMagick:首先,需要在系统上安装ImageMagick,例如提供的`ImageMagick-6.8.7-10-Q16-x86-static.exe`是Windows平台下的版本。安装后,确保其可执行文件(如`convert`命令)能在命令行中调用。 2. 集成...

    ImageMagick在64位系统问题解决

    64位系统的库文件通常位于`C:\Windows\System32`目录下,而32位库则在`C:\Windows\SysWOW64`。根据需要添加或调整这些路径。 4. **DLL加载错误** 如果在运行ImageMagick命令时收到DLL加载错误,可以尝试使用`...

    Java图片处理解决方案:ImageMagick快速入门教程.docx

    Java 图片处理解决方案:ImageMagick 快速入门教程 Java 图片处理解决方案中,ImageMagick 是一个免费的创建、编辑、合成图片的软件,可以实现图片切割、颜色替换、图片缩略图、图片水印等各种效果。ImageMagick 是...

    ImageMagick图片批量处理

    Version: ImageMagick 6.7.6-7 2012-04-20 Q16 http://www.imagemagick.org Copyright: Copyright (C) 1999-2012 ImageMagick Studio LLC Features: OpenMP Usage: convert.exe [options ...] file [ [options ......

    用ImageMagick命令行处理图片

    ImageMagick是一款强大的开源图像处理工具,它支持在命令行环境下进行各种图像操作,包括转换、缩放、旋转、添加文字、加边框以及合成图片等。ImageMagick的便捷之处在于其命令行界面,这使得它在批量处理、自动化...

    图片处理神器ImageMagick-6.9.3-7-Q16-x86-dll及对应的php扩展

    ImageMagick是一个免费的创建、编辑、合成图片的软件。它可以读取、转换、写入多种格式的图片。图片切割、颜色替换、各种效果的应用,图片的旋转、组合,文本,直线,多边形,椭圆,曲线,附加到图片伸展旋转。...

    ImageMagick7.0.8 win64 16安装包下载。使用moviepy抛ImageMagick异常问题解决

    ImageMagick-7.0.8-56-Q16-x64-dll.rar是ImageMagick7.0.8的windows 64位操作系统的安装程序,解压执行即可安装。 使用ImageMagick的创建,编辑,撰写,或转换位图图像。它可以读取和写入各种格式(超过200种)的...

    python使用moviepy时需要用到的库imagemagick

    当`moviepy`在处理某些特定的图像操作或动画序列时,可能需要借助`imagemagick`来完成。 首先,让我们深入了解`moviepy`库。`moviepy`提供了一套灵活的API,用于剪辑、合并、添加文本、调整视频速度、应用过滤器等...

    图片压缩工具ImageMagick

    3. 安全性:由于ImageMagick可以处理任意的图像输入,因此在处理不受信任的图像时,需要注意潜在的安全风险,例如避免命令注入攻击。 4. 性能优化:对于大批量的图像处理,可以通过设置缓存策略、优化参数或使用...

    ImageMagick安装支持heic格式.docx

    本文将详细讲解如何在Windows和Linux环境下,通过Java使用ImageMagick库来支持和转换HEIC图片格式。 ImageMagick是一个开源的命令行工具集合,用于读取、转换和写入多种图像格式。在Linux系统中,为了使ImageMagick...

    ImageMagick-6.3.9-0-Q16-windows-dll

    在处理高清图片时,ImageMagick提供了多种优化和滤镜选项,比如抗锯齿、降噪和锐化,这些都对保持图像质量至关重要。此外,它还支持众多图像格式的转换,如JPEG、PNG、GIF、BMP等,使得在不同格式之间处理水印变得...

    ImageMagick-6.7.5-1-Q16-windows.zip

    ImageMagick是一款强大的开源图像处理库,广泛应用于各种操作系统,包括Windows、Linux和macOS等。这个特定的版本,"ImageMagick-6.7.5-1-Q16-windows.zip",是专为Windows环境设计的,适用于PHP扩展,且属于较低的...

    ImageMagick 强大的图片转换资源

    ImageMagick是一款强大的开源图像处理工具,它支持各种图片格式的转换、编辑和合成操作,广泛应用于嵌入式产品开发及各种图形处理需求。在本文中,我们将深入探讨ImageMagick的功能、用法以及它对png、jpg、gif和...

    im4java-ImageMagick图片压缩处理

    因为im4java是基于imagemagick的commandline进行调用的java接口,不...其实安装imagemagick在任何平台都是一样的安装,在linux下面有rpm包,安装那个包,指定目录就可以了。windows一样,安装并指定安装路径就可以了。

    PDF文件转换ImageMagick图片处理

    图像处理工具可用来处理PDF文件时进行主要是图像处理!本人通过Python调用它进行PDF转换图片使用!工具地址:https://gitee.com/lmay/pdf_transform

    ImageMagick java图片处理工具

    ImageMagick是一个免费的创建、编辑、合成图片的软件。它可以读取、转换、写入多种格式的图片。图片切割、颜色替换、各种效果的应用,图片的旋转、组合,文本,直线,多边形,椭圆,曲线,附加到图片伸展旋转。...

Global site tag (gtag.js) - Google Analytics