2020-06-08 13:25

您可以通过自拍照质量低劣来判断某人是否在使用Android手机

导读联网上有一个长期的笑话,您可以通过自拍照质量低劣来判断某人是否在使用Android手机。虽然模因肯定夸大了很多,但不幸的是,它们背后还包

联网上有一个长期的笑话,您可以通过自拍照质量低劣来判断某人是否在使用Android手机。虽然模因肯定夸大了很多,但不幸的是,它们背后还包含着一些真相。在拍照性能方面,Android手机通常领先于iPhone,至少在纸面上。LG和三星之类的OEM倾向于使用比竞争对手iPhone具有更多像素和更大光圈的相机。规格并不是全部。苹果之所以能够参与相机游戏竞赛,部分原因在于iOS的软件。从Apple到ZTE的所有OEM,都使用一些软件魔术来使照片和视频看起来更好。这两家公司使用算法来减少噪声,调整色彩饱和度和对比度,甚至使黑暗场景更明亮,所有这些都使最终结果更加令人愉悦。从历史上看,这是Android OEM厂商不及Apple的地方。

软件开发

但是,最近,情况开始发生变化。这种变化的最大例子可能是Google和Pixel阵容。在硬件方面,Pixel相机确实无法与其他旗舰产品相比。不过,软件是Google发挥作用的地方。Pixels具有人像模式,夜视,HDR +和Super Res Zoom之类的功能,因拥有一些市场上最好的智能手机相机而赢得声誉。

其他Android OEM也效仿Google的领导。三星,OPPO,小米,Vivo,OnePlus等都推出了自己的Pixel最受欢迎的相机功能版本,甚至还拥有一些独特的功能。借助“ AI”和“机器学习”等流行语,Android OEM试图说服您他们的软件就是您想要增强照片和视频的软件。我们已经达到了一个点,即Android手机可以在摄像头性能的各个方面真正与iPhone竞争。

问题

不幸的是,仍然有一个主要例外:第三方应用程序。您的超级双摄像头50相机旗舰机可能会使用内置的相机应用程序拍摄出精美的照片,但切换到Instagram,Snapchat甚至是第三方相机应用程序,这基本上可以确保您捕获的内容看起来几乎不会一样好。如果这还不够,那么您还会迷失所有出色的相机功能和模式。这是因为,与iOS不同,Android确实没有统一的相机框架。当然,这里有基本功能。第三方应用程序仍可以拍摄照片和视频,并使用闪光灯。但是,如果您的电话具有用于广角或远摄的辅助传感器,会怎样?开发人员有可能能够访问第二个传感器,但是他们使用的方法必须特定于您的设备。

假设您有一台LG V40(我知道,我想,只是想像您有)。V40具有三个传感器:标准,远摄和超宽。内置的相机应用程序在所有这些不同的传感器之间切换时没有问题。但是忘了在Instagram上使用超宽传感器。现在,Instagram可以看看LG的相机应用程序如何使用不同的传感器,并为用户开发一种拍摄广角或变焦照片的方法。但这可能仅适用于LG V40。即使Galaxy S10具有相同的三种传感器模式(标准,远摄和超宽),Instagram团队也必须为三星开发另一种方法。

现在将华为,Vivo,OnePlus,小米,OPPO,诺基亚,中兴,HTC以及您可能想到的其他任何品牌加入。可以想象,尝试开发一种方法来仅访问每个品牌的每个电话的潜在额外传感器将变得非常繁琐。然后,您必须保持与所有当前和新手机的兼容性。

这些限制也适用于相机功能。肖像模式,夜视和HDR +等功能需要使用特定的每设备方法,或者完全无法被第三方应用程序访问。

显然,对于像Instagram这样的应用程序来说,这并不是什么大问题。这不是他们的重点,您始终可以使用手机的摄像头应用程序先拍摄照片。但是,专用相机应用程序呢?

效果

打开Goog​​le Play商店并搜索“相机”。您将找到数百个结果。即使第一方相机软件有所改进,第三方相机应用程序仍然非常受欢迎。有些旨在提供更多技术功能,例如手动曝光和对焦(手机相机应用程序可能不具备的功能)。其他的目的是在您的设备之间提供一致的用户体验。

尤其是出于后一个原因,Android的相机碎片可能使开发和维护广泛兼容的相机应用程序变得异常困难。如果您想提供额外的功能,那么如何将所有潜在的第一方应用程序的所有潜在功能包括在内?如果您正在寻找一致的体验,那么如何才能保证在每台装有该设备的设备上都能正常使用广角传感器?

答案是:您不能。您可以尝试在尽可能多的设备上支持尽可能多的功能,但是最后,要花很少的钱就需要大量的工作。不难想象,至少有几个开发人员已放弃放弃为Android开发功能齐全的相机应用程序。其实有几个。

伤亡人数

在Play商店中搜索相机应用。您会注意到一些事情。第一,有 很多选择。两个,大多数都做类似的事情(事后应用过滤器等)。第三,更高级的选项可能不会经常更新。您甚至可以在Google上找到不再在商店中的结果。

最近,我们得到了一个很好的主要例子,有人称它退出了。Moment决定停止其Android版Pro Camera应用的开发。

Moment的Pro Camera应用旨在将高级照片和视频功能引入Android。这些只是其中一些功能:

RGB直方图

分割焦点

手动控制曝光,ISO,快门速度,白平衡

焦点达到顶峰

RAW拍摄

动态帧率和分辨率变化

问题在于,其中许多功能根本无法在许多设备上使用。查看Moment的功能兼容性列表就像查看舞池的图片。即使在同一产品线中,功能支持也非常分散。经过两年的开发,Moment不再具有继续在其应用程序上进行开发的能力。

自Android首次发布以来已经快12年了,但我们终于可以解决相机碎片的问题。

该解决方案直接来自Google,尽管它不是直接内置于Android中。而是一个Jetpack支持库。如果您熟悉开发Android应用程序,则可能会遇到AppCompat和AndroidX支持库套件。Google提供的这些库旨在使开发人员更轻松地与旧版Android保持向后兼容性,同时仍然能够引入新功能和样式。

CameraX库是Jetpack(一种)的较新添加。与其他Jetpack库类似,CameraX的目标是简化相机开发。CameraX以其最基本的形式包装了Android的Camera2,该API允许应用程序探测设备上的摄像头功能,前提是OEM可以将这些摄像头功能公开给API。用户可以使用Camera2 API Probe应用程序检查Camera2 API公开了哪些相机功能,然后将其与库存相机应用程序中可用的功能进行比较。

将CameraX用作Camera2 API的包装的好处是,在内部,它解决了可能出现的所有特定于设备的兼容性问题。仅此一项对相机应用程序开发人员将很有用,因为它可以减少样板代码并减少研究相机问题的时间。不过,这并不是CameraX所能做的。

尽管第一部分主要只对开发人员感兴趣,但还有另一部分对开发人员和最终用户均适用:供应商扩展。这是Google对Android上相机功能碎片化的答案。设备制造商可以选择随手机附带扩展库,从而使CameraX(以及开发人员和用户)能够利用本机摄像头功能。例如,假设您确实喜欢三星的肖像模式效果,但不喜欢相机应用程序本身。如果三星决定在其手机中实现CameraX纵向模式扩展,则任何使用CameraX的第三方应用程序都将能够使用三星的纵向模式。显然,这不仅限于该功能。理论上,制造商可以使用CameraX向应用程序开放其任何相机功能。

不幸的是,有一个警告,我前面已经提到:这不是制造商的要求。Google表示,从Pixel 4开始,他们将在所有新的和即将推出的Pixel设备上支持扩展功能。OPPO表示,他们已经开放了Beauty和HDR模式。其他OEM可以选择仅将其夜间模式提供给CameraX,或者可以选择根本不实施任何扩展。哪个设备支持哪种CameraX扩展(如果有)完全取决于制造商。Google 曾经维护设备清单支持供应商扩展及其开放的相机功能,但过去几个月来他们没有更新列表。几周前,我们与Google取得联系,询问他们是否可以提供更新的列表,但该公司尚未回复列表。值得一提的是,最近的一篇Google博客文章指出,三星,LG,OPPO,小米和摩托罗拉(在Android 10上)的设备提供了一些扩展功能,但该博客文章并未确切说明支持哪些设备或它们支持的功能。提供。

如果有足够的制造商决定实施扩展,那么Android的第三方相机场景将更加光明。由于CameraX的框架会照顾好它,因此开发人员将不必浪费时间为他们可能会使用的每个设备重新实现相机功能。由于可以通过通用界面访问设备之间的相似功能,因此功能部件的碎片将更少。还有更多的可能性。

当然,这一切都取决于Google能否说服制造商继续实施CameraX Vendor Extension库。除非CameraX得到广泛实现,否则它只会增加当前的碎片。但就我个人而言,我充满希望。Google可能会很有说服力,而CameraX似乎正在做大量工作。看到即将解决的Android相机问题的可能解决方案令人兴奋,我期待着CameraX将随着时间的推移而改进和扩展。