相机拍摄的图像方向问题

Description

很多时候,我们习惯把手机相机拍摄的图像在电脑上面查看。有的时候在手机上面看图像是正的,可是电脑端查看是反的;有的时候手机和电脑都是反的;有的时候都是正的;还有的时候电脑是正的,手机是反的;所有的这些不一致现象,都是和图像的拍摄方向Orientation有关。

What's Orientation of image

对于单反相机,不太清楚。对于手机,我们知道手机拿在手中照相的时候,有竖直的放式,同时也有横向的方式,又由于目前的手机内部都有陀螺仪和重力感应,所以你拍摄时候的手机方式是可以知道的,这就是图像的方向,至于什么方式才是正方向,不同的手机类型设置不一样,自己可以测试一下。图像的方向,就是相机拍摄时候的方向,一般为上下左右四个方向。

How to see the Orienation of one image

信息一般存储在Exif中,

  1. 图像的属性信息;
  2. 第三方的看图软件;
  3. Linux command exif

Hot to get exif infomation in programe

  1. exif.js
  2. c exif

Notes

  1. 对于苹果手机, 在手机旋转后,进行的照相. 会保存当前的图像有方向的数据. 然后,在相册或在其他地方使用的时候, 系统会进行自动的根据orientation进行旋正. 这是苹果系统自己的功能.
  2. 有的安卓手机, 不管你的手机是否旋转, 照相的时候, 保存的图像都是旋正的图像. 也就是orientation == 1.
  3. 有的手机浏览器的img标签,会自动根据exif orientation自动进行纠正旋转。可是使用canvas读取图像的数据进行绘制的时候,却是使用的真是数据,不进行任何的旋转。

Reference

exif
stackoverflow
exif orientation tag
C get exif Info


Orientation of phone Image的更多相关文章

  1. android:configChanges="keyboard|keyboardHidden|orientation|screenSize"

    <activity android:name="xxxActivity" android:configChanges="keyboard|keyboardHidde ...

  2. 七牛--关于图片上传方向不统一的问题--主要关于图片EXIF信息中旋转参数Orientation的理解

    [图片引用方向纠正]直接在图片后面添加 ?imageMogr/auto-orient eg:http://data.upfitapp.com/data/2016/10/18/1629114767606 ...

  3. iOS Orientation bug

    Every September means pain for iOS developers- you need to make sure your old apps/code run on the n ...

  4. 图片Exif 信息中Orientation的理解和对此的处理

    这个问题是在用七牛上传图片后获取宽高时发现的,一张图片,用图片浏览器打开始终是竖图,但是查看属性或者用七牛获取宽高,却发现宽大于高,也就是在属性中这是个横图.这样导致客户端用该宽高来展示图片会出现问题 ...

  5. gravity、layout_gravity及orientation

    gravity.layout_gravity及orientation 最近在弄一个简单的界面:横向,添加一张准备好的背景图,在界面右边居中放置一个按钮.实现过程中发现对布局的主要属性没有想象中地那么熟 ...

  6. 七牛:关于图片 EXIF 信息中旋转参数 Orientation 的理解

    EXIF(Exchangeable Image File)是 “可交换图像文件” 的缩写,当中包含了专门为数码相机的照片而定制的元数据,可以记录数码照片的拍摄参数.缩略图及其他属性信息,简单来说,Ex ...

  7. orientation和gravity的区别

    orientation:决定UI组件是按行还是列显示 gravity:指定文字对齐方式.

  8. DCM TUTORIAL – AN INTRODUCTION TO ORIENTATION KINEMATICS (REV 0.1)

    原英文地址:dcm_tutorial 感觉这篇文章还是很有学习价值的,所以就抽出了一些时间对本文进行的翻译.下面这个好多人用的算法就是一种DCM 滤波器. //==================== ...

  9. [转]DCM Tutorial – An Introduction to Orientation Kinematics

    原地址http://www.starlino.com/dcm_tutorial.html Introduction This article is a continuation of my IMU G ...

  10. PHP 中 Orientation 属性判断上传图片是否需要旋转(转)

    <?php $image = imagecreatefromstring(file_get_contents($_FILES['image_upload']['tmp_name'])); $ex ...

随机推荐

  1. VScode+Flutter 开发继续踩坑

    运行慢解决方法1:修改build.gradle,注释掉jcenter(),google().使用阿里的镜像.原因是jcenter google库无法访问到导致的问题.虽然我有万能的爬墙工具,开启全局代 ...

  2. redis安装全过程

    1. 从官网上下载redis. 2.安装gcc 3.进入./redis/src目录下make MALLOC =libc 4.遇到的问题 Redis简介: Redis是一个开源的使用ANSI C语言编写 ...

  3. python 编程中的一个关于图片的库 imageio (读取照片RGB内容,转换照片格式)

    最近在看机器学习方面的东西,经常遇到需要把某个类型的照片中 RGB 内容读取出来, 在python中照片显示用matplotlib就可以做到,但是导入不同格式的照片,保持出不同格式的照片numpy, ...

  4. bzoj 4570: [Scoi2016]妖怪 凸包

    题目大意: http://www.lydsy.com/JudgeOnline/problem.php?id=4570 题解 我们知道如果一个怪物要取到攻击力的最大值,那么一定是把防御力都转化了 所以我 ...

  5. Maven管理SSM框架的pom.xml文件配置(自己主动下载所依赖的jar包)

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/UP19910522/article/details/25403855 <project xml ...

  6. js中caller和callee属性详解

    一.caller属性返回一个对函数的引用,该函数调用了当前函数.functionName.callerfunctionName 对象是所执行函数的名称.说明对于函数来说,caller 属性只有在函数执 ...

  7. zipkin:mysql做存储,kafka做接收器,以及如何找到配置名称

    mysql设定 1. 创建表结构: (源码路径)\zipkin-storage\mysql\src\main\resources\mysql.sql 2. zipkin的存储设置为mysql(coll ...

  8. ReportViewer 2010 打印预览,用鼠标快速切换显示比例时报错:存储空间不足,不能处理此命令

    CreateCompatibleDIB 存储空间不足 无法处理此命令 安装 ReportViewer 2010 sp1 即可.

  9. Makefile编写 三 伪目标的作用

    本节我们讨论一个Makefile中的一个重要的特殊目标:伪目标. 伪目标是这样一个目标:它不代表一个真正的文件名,在执行make时可以指定这个目标来执行其所在规则定义的命令,有时我们也可以将一个伪目标 ...

  10. 总是有人问我,那你能造出你自己都搬不动的石头吗? 我说不能,但我能写出个我自己都无法 fix 的 bug。

    总是有人问我,那你能造出你自己都搬不动的石头吗? 我说不能,但我能写出个我自己都无法 fix 的 bug.