是否可以检测 android 中的自拍图像?

is it possible to detect selfie image in android?

我有来自 MediaStore.images.media 的图像列表。是否可以检测自拍图像? 我看过mlkit Selfie Segmentation,但我猜它是关于改变照片的?

您可以尝试从图像中获取 EXIF 数据并比较一些参数。 如果您希望使用 ExifInterface,请将以下依赖项添加到您的 build.gradle:

implementation "androidx.exifinterface:exifinterface:1.3.3"

之后,您可以按照下一个代码从照片中获取 EXIF 数据:

Uri gfgUri; // the file uri
InputStream gfgIn;
try {
    gfgIn = getContentResolver().openInputStream(gfgUri);
    ExifInterface exifInterface = new ExifInterface(gfgIn);
    // Extract the EXIF tag here
} catch (IOException e) {
    // Handle any errors
} finally {
    if (gfgIn != null) {
        try {
            gfgIn.close();
        } catch (IOException ignored) {}
    }
}

例如,您可以使用照片分辨率来比较稀有照片和正面照片。分辨率通常不同:面向用户的摄像头的分辨率低于背面的摄像头。

我从 gsmarena.com:

中提取的几个例子
  • Google Pixel 6 Pro:主要:50 MP;自拍:11.1 MP;
  • Apple iPhone SE (2022):主要:12 MP;自拍:7 MP;
  • 三星 Galaxy S22 5G:主要:50 MP;自拍:10 MP;