gpt4 book ai didi

php - 在 PHP 中自动检测 360 度自然图像

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:34:38 25 4
gpt4 key购买 nike

我正在呈现如下所示的属性详细信息页面(可以访问 Here ) enter image description here

我有一个图像 slider 和一个 360 图像查看器。目前,用户手动上传两种类型的图像,即来自一个界面的普通图像和来自其他界面的 360 度图像。我检查该属性(property)是否有 360 度图像并使用全景查看器显示它们。

我使用以下 Controller 上传 360 度图像,这与上传普通图像类似。

public function upload_360_images()
{
if($this->session->userdata['id'] && $this->session->userdata['type']=='user')
{
if($_FILES)
{
if(isset($_FILES['files'])){
$data['errors']= array();
$extensions = array("jpeg","jpg","png");

foreach($_FILES['files']['tmp_name'] as $key => $tmp_name ){

$file_name = $key.$_FILES['files']['name'][$key];
$file_size =$_FILES['files']['size'][$key];
$file_tmp =$_FILES['files']['tmp_name'][$key];
$file_type=$_FILES['files']['type'][$key];
/*$file_ext=explode('.',$_FILES['image']['name'][$key]) ;
$file_ext=end($file_ext);*/
$i=1;
if($file_size > 7097152){
$data['errors'][$i]='File '.$i.' size must be less than 7 MB';
$i++;
}

$desired_dir="uploads";
if(empty($data['errors'])==true){
if(is_dir($desired_dir)==false){
mkdir("$desired_dir", 0700); // Create directory if it does not exist
}
if(is_dir("$desired_dir/".$file_name)==false){
move_uploaded_file($file_tmp,"uploads/".$file_name);
$this->post_model->add360Image('property_360_images',$file_name,$this->uri->segment(3));
}else{ //rename the file if another one exist
$new_dir="uploads/".$file_name.time();
rename($file_tmp,$new_dir) ;
}

}else{
$data['contact']=$this->admin_model->getContactDetails();
$data['images']=$this->post_model->getProperty360Images($this->uri->segment(3));
$data['title']='My Profile Image';
$this->load->view('site/static/head',$data);
$this->load->view('site/static/header');
$this->load->view('site/content/upload_360_images');
$this->load->view('site/static/footer');
$this->load->view('site/static/footer_links');
}
}
if(empty($data['errors']))
{
redirect(base_url().'dashboard');
}
else
{
$data['contact']=$this->admin_model->getContactDetails();
$data['images']=$this->post_model->getProperty360Images($this->uri->segment(3));
$data['title']='My Profile Image';
$this->load->view('site/static/head',$data);
$this->load->view('site/static/header');
$this->load->view('site/content/upload_360_images');
$this->load->view('site/static/footer');
$this->load->view('site/static/footer_links');
}
}

}
else
{
$data['contact']=$this->admin_model->getContactDetails();
$data['images']=$this->post_model->getProperty360Images($this->uri->segment(3));
$data['title']='My Profile Image';
$this->load->view('site/static/head',$data);
$this->load->view('site/static/header');
$this->load->view('site/content/upload_360_images');
$this->load->view('site/static/footer');
$this->load->view('site/static/footer_links');
}

}
else
{
redirect(base_url().'user/login');
}

}

请忽略长代码,此代码来自产品,因此我必须进行大量检查和条件检查。

问题现在,我的雇主希望我使用单一界面来上传普通图像和 360 度图像,并使用某种检测算法检测图像的性质,然后在我用于静态/普通图像的同一图像 slider 中显示图像。

研究

我读了this Stackoverflow 上的线程,它对使用 EXIF 读取文件的元数据有一点意义。工具,但这使得这个过程非常手动。

问题

我想自动读取图像,在我的 php 图像上传代码中使用它,或者在获取图像名称作为参数并返回图像类型为普通或 360 的函数中编写该检测算法。基于该返回,我可以轻松渲染观点。所以我的问题是如何在 php 中进行检测?

最佳答案

根据 Facebook 360 Group :

There isn't yet a standard for tagging a photo as containing 360 content.

建议你找EXIF标签

投影类型:equirectangular

你也可以找

使用全景查看器:True

这两个标 checkout 现在我的 LG 360 拍摄的照片上。

关于php - 在 PHP 中自动检测 360 度自然图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42479799/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com