当前位置: 首页 > 知识库问答 >
问题:

如何知道图像的方位,是人像还是风景?

郑富
2023-03-14

我知道这是一个古老的问题,可以在很多地方找到,但我仍然无法找到解决方案。

我想要的是,如果我使用手机的库存相机拍摄图像或从图库中选择图像,它应该告诉我图像的方向或确切的高度和宽度,以便我可以决定方向。

到目前为止,我使用stackoverflow尝试的是:-

 ExifInterface exif = null;
        try {
            exif = new ExifInterface(URI);
        } catch (IOException e) {
            e.printStackTrace();
        }
        int orientation = exif.getAttributeInt(ExifInterface.TAG_ORIENTATION,
                ExifInterface.ORIENTATION_UNDEFINED);

但问题是,当使用相机捕获图像时,它分别给出6和1的纵向和横向。如果从图库中选择图像,它会给我0。所以我无法确定图像是风景还是肖像。

提前感谢

共有1个答案

拓拔弘亮
2023-03-14

图像不要求具有EXIF标签,更不用说告诉您拍摄图像的相机方向的标签了。毕竟,并非所有图像都来自相机,也不是所有图像类型都有EXIF标签。

作为后备,您可以使用<code>BitmapFactory。传递一个<code>位图工厂。选项转换到所需的<code>解码…()设置为<code>true。这不会解码整个图像,但它将解码到足以确定高度和宽度之类的东西。然后,如果高度大于宽度,则将图像视为肖像。有关此技术的详细信息,请参阅文档。

 类似资料:
  • 我使用Firebase作为数据库,用户可以上传图像或视频,所以我从我的数据库中提取URL,所以我得到了两个URL,其中一个可以是视频或图像,所以我可以做什么来检测URL。 注意:有些URL没有扩展,比如、、等。我这样说是因为我有一些网址没有与mp4或png等相关的扩展名。

  • 我的意思是相当于AWT的,或者其他允许我编写一个简单的方法的东西。 我使用SWT,因为我需要读取TIF图像,AWT无法打开。 我的目标是(用颜色)在任意图像上绘制,如果是灰度,我必须首先创建一个RGB图像并复制B 最终代码,基于下面Alex的解决方案 我使用总体标准偏差来更好地控制RGB值。 顺便说一下,我认为“直接”调色板图像始终是RGB(它们不包含来自GeTrgbs-()的直接值)。解决方案代

  • 问题内容: 给定文件路径,最简单的方法是知道该文件是否是Java(Android)中的图像(任何形式)?谢谢 问题答案: 有外部工具可以帮助您完成此任务。查看JMimeMagic和JMagick。您也可以尝试使用该类读取文件,但是这样做可能会耗费大量资源,并且并非万无一失。 这个问题已经问过好几次了。请参阅关于同一主题的这些其他线程: 检查文件是否为图像 如何查看上传的文件是图片还是其他文件?

  • 我正在使用jQuery创建一个图片库。是否有任何可能性使用jQuery计算图像是风景还是肖像? 感谢您的支持。

  • 问题内容: 除了检查每个可能的扩展名外,我如何检查文件是mp3文件还是图像文件? 问题答案: 您可以使用来识别图像文件。 要查找有关MP3和其他音频/视频文件的更多信息,建议使用 php- mp4info getID3() 。

  • 如何在div中适合图像?图像大小可以是最大然后div或最小然后div。 html代码 CSS代码 如何使用以下设置图像css: 图像高度100和宽度100 图像高度300和宽度300