首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java图像维数检测

Java图像维数检测
EN

Software Recommendation用户
提问于 2017-12-20 21:49:38
回答 3查看 79关注 0票数 1

我想要一个库,它可以用最初的几个字节计算出图像的尺寸。不一定是完美的。我在找类似这个Nodejs库的东西。https://github.com/image-size/image-size

EN

回答 3

Software Recommendation用户

发布于 2018-01-04 11:41:40

一些图像文件格式,如GIF、BMP、JPEG和PNG都有头部,头几个字节中有详细的信息,如文件格式、图像宽度和高度以及分辨率(DPI)。一个可以利用它的库是LEADTOOLS (免责声明:我为其供应商工作)。

我尝试了4个不同的文件,完全截断文件,并只保留一小块在开始。以下Java代码适用于所有4个文件:

代码语言:javascript
复制
f = new File("D:/test/tst.jpg.hdr");
RasterCodecs codecs = new RasterCodecs();
ILeadStream stream = LeadStreamFactory.create(f.getAbsolutePath());
CodecsImageInfo imgInfo = codecs.getInformation(stream, false);
int w = imgInfo.getWidth();
int h = imgInfo.getHeight();

库支持数十种文件格式(如果计算子类型的话,支持数百种),但并不是所有格式都包含在标题中的全部信息。对于GIF和JPEG,只有一KB的数据就足够了。对于BMP和PNG,它所需的字节不到300字节。

尽管图书馆并不是免费的,但是你可以从网站上下载一个完全工作时间有限的试用版,而且即使在评估期间,技术支持也是免费的。

票数 1
EN

Software Recommendation用户

发布于 2018-09-05 02:29:05

有一些ImageMagick绑定/实现/API可用于Java -

im4java - http://im4java.sourceforge.net/

jMagick - http://www.jmagick.org/jmagick-doc/

不过,这两人都是5+,但都不确定他们做得有多好,等等。

但是ImageMagick在命令行中很受欢迎,而且它在PHP中对我很有用。

票数 1
EN

Software Recommendation用户

发布于 2022-09-16 11:04:47

标准的Java ImageIO (随JDK一起提供)可以在不解码图像的情况下从图像头中找到图像尺寸。最常见的格式不需要额外的依赖项。

代码语言:javascript
复制
try (ImageInputStream stream = ImageIO.createImageInputStream(input)) {
    ImageReader reader = ImageIO.getImageReaders(stream).next(); // TODO: Handle unsupported format
    reader.setInput(stream);

    int width = reader.getWidth(0);
    int height = reader.getHeight(0);

    // ...

    reader.dispose();
}

Java ImageIO标准支持BMP、GIF、JPEG、PNG和TIFF (来自Java 9)。第三方插件存在于大多数流行的图像格式中。

票数 0
EN
页面原文内容由Software Recommendation提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwarerecs.stackexchange.com/questions/47714

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档