首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何编程识别全景图像

如何编程识别全景图像
EN

Stack Overflow用户
提问于 2018-02-22 05:48:45
回答 3查看 1.2K关注 0票数 0

是否有任何方法或技术来识别位图(png/jpeg)实际上是360度全景图像或正常图像。iOS中全景图像与正常图像的区分机制是什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-02-22 05:55:18

全景图只是一幅宽高比大的图片(反之亦然)。

没有最小的大小,但是会有一个最大值(可能)。

标准照片的比例大约是4:3,所以你可以找到这个比例,并确定它是否是全景图。

你可以这样做:

代码语言:javascript
复制
let smallest = min(image.size.width, image.size.height)
let largest = max(image.size.width, image.size.height)

let ratio = largest/smallest

let maximumRatioForNonePanorama = 4 / 3 // check with your ratio 

if ratio > maximumRatioForNonePanorama {
    // it is probably a panorama
}

但是,也要注意,当拍摄全景图时,你可以在不移动相机的情况下开始拍摄它,这样它就可以是一张普通的照片了。

这就是为什么你要用这样的比率,我想这还没有旗子。

票数 2
EN

Stack Overflow用户

发布于 2018-02-22 06:12:48

全景图像具有不同的分辨率,其分辨率为2:14:110:1。若要识别全景图像,请使用下面的代码片段

代码语言:javascript
复制
 let smallest = min(YOUR_IMAGE.size.width, YOUR_IMAGE.size.height)
 let largest = max(YOUR_IMAGE.size.width, YOUR_IMAGE.size.height)
 let ratio = largest/smallest
 if (ratio >= CGFloat(2/1)) || (ratio >= CGFloat(4/1)) || (ratio >= CGFloat(10/1)) {

    // Panorama image

 } else {

    //NON -Panorama image 

 }

希望这能帮到你

票数 1
EN

Stack Overflow用户

发布于 2019-06-14 14:52:41

PHAsset有一个名为mediaSubtypes的属性。只需检查这个数组是否包含全景子类型。

代码语言:javascript
复制
if mediaSubtypes.contains(.photoPanorama) {
    // ...
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48920481

复制
相关文章

相似问题

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