相机(Camera)像素差值设置

MTK 相机像素差值和做假

分类: Android2014-05-30 19:59 474人阅读 评论(0) 收藏 举报

CameraAndroid摄像头

图像比例 拍出图像像素 代码中字串id 相机界面显示像素(英文)
4:3 320x240 @string/pref_camera_picturesize_entry_320x240 QVGA
640x480 @string/pref_camera_picturesize_entry_640x480 VGA
1024x768 @string/pref_camera_picturesize_entry_1024x768 1M
1280x960 @string/pref_camera_picturesize_entry_1280x960 1.3M
1600x1200 @string/pref_camera_picturesize_entry_1600x1200 2M
2048x1536 @string/pref_camera_picturesize_entry_2048x1536 3M
2560x1920 @string/pref_camera_picturesize_entry_2592x1936 5M
3264x2448 @string/pref_camera_picturesize_entry_3264x2448 8M
3600x2700 @string/pref_camera_picturesize_entry_3600x2700 9.5M
3672x2754 @string/pref_camera_picturesize_entry_3672x2754 10M
4096x3072 @string/pref_camera_picturesize_entry_4096x3072 12M
4160x3120 @string/pref_camera_picturesize_entry_4160x3120 13M
4608x3456 @string/pref_camera_picturesize_entry_4608x3456 16M
5120x3840 @string/pref_camera_picturesize_entry_5120x3840 20M
       
vanzo增加 4352x3264 @string/pref_camera_picturesize_entry_4352x3264 14M
       
       
16:9
(如果手机屏幕比例是16:9,这像素就是全屏像素)
1280x720 @string/pref_camera_picturesize_entry_1280x720 1M
1600x912 @string/pref_camera_picturesize_entry_1280x960 1.3M
2048x1152 @string/pref_camera_picturesize_entry_2048x1536 3M
2560x1440 @string/pref_camera_picturesize_entry_2560x1440 4M
3328x1872 @string/pref_camera_picturesize_entry_3328x1872 6M
4096x2304 @string/pref_camera_picturesize_entry_3600x2700 9.5M
4608x2592 @string/pref_camera_picturesize_entry_4096x3072 12M
5120x2880 @string/pref_camera_picturesize_entry_5120x2880 15M
       
       
5:3
(如果手机屏幕比例是5:3,这像素就是全屏像素)
1280x768 @string/pref_camera_picturesize_entry_1280x768 1M
1600x960 @string/pref_camera_picturesize_entry_1600x1200 2M
2880x1728 @string/pref_camera_picturesize_entry_2592x1936 5M
3600x2160 @string/pref_camera_picturesize_entry_3264x2448 8M
       
       
3:2
(如果手机屏幕比例是3:2,这像素就是全屏像素)
1024x688 @string/pref_camera_picturesize_entry_1024x768 1M
1440x960 @string/pref_camera_picturesize_entry_1280x960 1.3M
2048x1360 @string/pref_camera_picturesize_entry_2048x1536 3M
2560x1712 @string/pref_camera_picturesize_entry_2592x1936 5M
       
备注 以上是92新平台本身支持的像素,MTK更新到Camera源码中的。
如有特殊差值需求,只要摄像头物理像素支持,或差值后支持,也可满足,但是要满足以下像素条件:(假设宽为w,高为h,想要个18M的像素)
1.w,h都是16的倍数
2.w:h = 4:3(或16:9,根据需求定)
3.w*h = 18M(根据需求定)
满足以上条件的w,h就可以做差值
另外:差值最好在以下范围内:VGA->2M(或3M),2M->5M,5M->8M,8M->12M,12M->18M(再大还没遇到过

[FAQ05829] 6589 JB2如何实现camera插值或新增picture size    Download
Platform:MT6589
Branch:JB2
FAQ Content

[DESCRIPTION]
camera实现插值,该solution同时适用于新增一个picture size.

[SOLUTION]

Camera插值在底层已经做好,我们只需要在中间层和app层添加一个对应的picture size即可。但是有一些限制条件需要注意:

1.    插值的倍数只能小于等于16倍,也就是说假如是1M的sensor,那最多只能插值到16M;

2.    插值后的width和height都不能超过8192,也就是picture size设置的width和height的大小都不能超过8192;

3.    若插值的大小超过12M:

例如插值到18M,并且贵司code base版本在”ALPS.JB2.MP.V1.2”之前(包括ALPS.JB2.MP.V1.2)的版本则需要申请并打上patch(ALPS00460866),若code base版本在ALPS.JB2.MP.V1.3之后则不需要;

4.    由于hardware jpeg encoder的限制,插值时设置的width和height请您分别都设为16的整数倍,若设置非16整数倍的width或height,则可能导致拍出来的图片会有异常(如图片扭曲、花屏、连拍的图片绿屏)。

下面是关于插值的方法:

(一)中间层修改

1.mediatek\custom\<project>\hal\imgsensor\<sensor name>\config.ftbl.<sensor name>.h

(若没有该文件,则修改

mediatek\custom\<project>\hal\imgsensor\src\config.ftbl.common_raw.h

或者config.ftbl.common_yuv.h

在如下定义picture size的地方增加您想要的size (宽和高必须是16的整数倍,宽高比例建议先用4:3的验证测试),如果已经包含您要加的size,就不需要再增加。

#if 1

//  Picture Size

FTABLE_CONFIG_AS_TYPE_OF_DEFAULT_VALUES(

KEY_AS_(MtkCameraParameters::KEY_PICTURE_SIZE),

SCENE_AS_DEFAULT_SCENE(

ITEM_AS_DEFAULT_("2560x1920"),

ITEM_AS_VALUES_(

"320x240",      "640x480",      "1024x768",     "1280x720",     "1280x768",     "1280x960"

)

),

)

#endif

例如:

//  Picture Size

FTABLE_CONFIG_AS_TYPE_OF_DEFAULT_VALUES(

KEY_AS_(MtkCameraParameters::KEY_PICTURE_SIZE),

SCENE_AS_DEFAULT_SCENE(

ITEM_AS_DEFAULT_("2560x1920"),

ITEM_AS_VALUES_(

"320x240",      "640x480",      "1024x768",     "1280x720",     "1280x768",     "1280x960", "4096x3072"

)

),

)

#endif

(二) app层的修改可以按照如下来修改:

1.\packages\apps\Camera\res\values\strings.xml

增加您想要的size,如果已经包含您要加的size,就不需要再增加

<string name="pref_camera_picturesize_entry_3264x2448">8M pixels</string>

<string name="pref_camera_picturesize_entry_2592x1936">5M pixels</string>

<string name="pref_camera_picturesize_entry_2048x1536">3M pixels</string>

<string name="pref_camera_picturesize_entry_1600x1200">2M pixels</string>

<string name="pref_camera_picturesize_entry_1280x960">1.3M pixels</string>

<string name="pref_camera_picturesize_entry_1024x768">1M pixels</string>

<string name="pref_camera_picturesize_entry_640x480">VGA</string>

<string name="pref_camera_picturesize_entry_320x240">QVGA</string>

例如:

<string name="pref_camera_picturesize_entry_4096x3072">12M Pixels</string>

<string name="pref_camera_picturesize_entry_3264x2448">8M pixels</string>

<string name="pref_camera_picturesize_entry_2592x1936">5M pixels</string>

<string name="pref_camera_picturesize_entry_2048x1536">3M pixels</string>

<string name="pref_camera_picturesize_entry_1600x1200">2M pixels</string>

<string name="pref_camera_picturesize_entry_1280x960">1.3M pixels</string>

<string name="pref_camera_picturesize_entry_1024x768">1M pixels</string>

<string name="pref_camera_picturesize_entry_640x480">VGA</string>

<string name="pref_camera_picturesize_entry_320x240">QVGA</string>

2.\packages\apps\Camera\res\values\arrays.xml

<string-array name="pref_camera_picturesize_entries" translatable="false">

<!-- TODO: Change to a better name of the preference.

The first element of the array should be

"pref_camera_picturesize_entry_2592x1944". However, we are too

late for the translation. Since we show the same label as the

second item, we just use the second one instead.

-->

<item>@string/pref_camera_picturesize_entry_3264x2448</item>

<item>@string/pref_camera_picturesize_entry_2592x1936</item>

<item>@string/pref_camera_picturesize_entry_2592x1936</item>

<item>@string/pref_camera_picturesize_entry_2592x1936</item>

<item>@string/pref_camera_picturesize_entry_2048x1536</item>

<item>@string/pref_camera_picturesize_entry_1600x1200</item>

<item>@string/pref_camera_picturesize_entry_1280x960</item>

<item>@string/pref_camera_picturesize_entry_1024x768</item>

<item>@string/pref_camera_picturesize_entry_640x480</item>

<item>@string/pref_camera_picturesize_entry_320x240</item>

</string-array>

增加您想要的size,如果已经包含您要加的size,就不需要再增加

例如:

<string-array name="pref_camera_picturesize_entries" translatable="false">

<!-- TODO: Change to a better name of the preference.

The first element of the array should be

"pref_camera_picturesize_entry_2592x1944". However, we are too

late for the translation. Since we show the same label as the

second item, we just use the second one instead.

-->

<item>@string/pref_camera_picturesize_entry_4096x3072</item>

<item>@string/pref_camera_picturesize_entry_3264x2448</item>

<item>@string/pref_camera_picturesize_entry_2592x1936</item>

<item>@string/pref_camera_picturesize_entry_2592x1936</item>

<item>@string/pref_camera_picturesize_entry_2592x1936</item>

<item>@string/pref_camera_picturesize_entry_2048x1536</item>

<item>@string/pref_camera_picturesize_entry_1600x1200</item>

<item>@string/pref_camera_picturesize_entry_1280x960</item>

<item>@string/pref_camera_picturesize_entry_1024x768</item>

<item>@string/pref_camera_picturesize_entry_640x480</item>

<item>@string/pref_camera_picturesize_entry_320x240</item>

</string-array>

3.\packages\apps\Camera\res\values\arrays.xml

<string-array name="pref_camera_picturesize_entryvalues" translatable="false">

<item>3264x2448</item>

<item>2592x1944</item>

<item>2592x1936</item>

<item>2560x1920</item>

<item>2048x1536</item>

<item>1600x1200</item>

<item>1280x960</item>

<item>1024x768</item>

<item>640x480</item>

<item>320x240</item>

</string-array>

增加您想要的size,如果已经包含你要加的size,就不需要再增加

例如:

<string-array name="pref_camera_picturesize_entryvalues" translatable="false">

<item>4096x3072</item>

<item>3264x2448</item>

<item>2592x1944</item>

<item>2592x1936</item>

<item>2560x1920</item>

<item>2048x1536</item>

<item>1600x1200</item>

<item>1280x960</item>

<item>1024x768</item>

<item>640x480</item>

<item>320x240</item>

</string-array>

4.\packages\apps\Camera\src\com\Android\Camera\CameraSettings.java

public static final String[] PICTURE_SIZE_4_3 = new String[] {

"320x240",

"640x480",

"1024x768",

"1280x960",

"1600x1200",

"2048x1536",

"2560x1920",

"3264x2448",

};

增加您想要的size,如果已经包含你要加的size,就不需要再增加

例如:

public static final String[] PICTURE_SIZE_4_3 = new String[] {

"320x240",

"640x480",

"1024x768",

"1280x960",

"1600x1200",

"2048x1536",

"2560x1920",

"3264x2448",

"4096x3072",

};

注意:若您使用的picture size不是4:3的比例,例如您加的为1280×720,比例为16:9,则需要在对应的比例PICTURE_SIZE_16_9中添加。

时间: 2024-10-13 12:10:53

相机(Camera)像素差值设置的相关文章

Houdini中给火花渲染准确的运动模糊 - 给运动模糊做非线性差值的方法以及固定粒子点数的方法

估计大家都知道使用运动速度来进行运动模糊的渲染,但是往往这个方法得到的运动模糊都是线性变化的,虽然乍一看没什么问题,但是如果想要每一帧的模糊轨迹也是有曲线变化的而不是僵硬的直来直去的话,使用trail算个速度来做的运动模糊是永远做不到这一点的. 这里我想通过常用的火花(spark)的运动模糊来讲一讲我所了解的一些比较好的方法. 所谓渲染中的运动模糊无非就是差值算法.目前使用的比较多的主要有两种.第一种就是上面说到的直接使用速度来线性差值,这种方法会计算每一个点的速度方向,计算出前一帧或者后一帧的

PHP中比较两个时间的大小与日期的差值

在这里我们全用到时间戳 mktime(hour,minute,second,month,day,year,[is_dst])     其参数可以从右向左省略,任何省略的参数都会被设置成本地日期和时间的当前值. 参数 描述 hour 可选.规定小时. minute 可选.规定分钟. second 可选.规定秒. month 可选.规定用数字表示的月. day 可选.规定天. year 可选.规定年.在某些系统上,合法值介于 1901 – 2038 之间.不过在 php教程 5 中已经不存在这个限制

动态集合中两个最接近的数的差值

题目: 思考: 既然是动态集合,那么我们需要用链表来存储数据方便插入和删除.于是我们可以选用二叉链表,也就是红黑树来存储数据,红黑树由于比较平衡,所以可以得到比较好的查询时间.但是我们并不是直接拿红黑树就可以用了,因为基本的红黑树没有MIN_GAP操作,所以需要自己修改和维护原始的红黑树. 如何给红黑树添加MIN_GAP操作呢?我们需要先给红黑树结构中加入MAX,MIN指针.这个操作可以参考最坏时间为O(1)的求最大小值,当然只取了里面部分新增代码.既然新指针已经添加好了,那么我们以原有红黑树插

android camera使用ISO值录制视频

android camera使用ISO值录制视频 我的应用是使用自定义camera对着一个led灯箱录制视频,该led灯的频率是1000HZ,同时我使用高ISO值录像,最终想要的效果如下图,屏幕中会出现明显黑色条纹. 要达到这样的效果,要对camera的参数进行以下设置:[代码1] p.setSceneMode(Camera.Parameters.SCENE_MODE_AUTO); p.setAntibanding(Camera.Parameters.ANTIBANDING_AUTO); p.s

MySQL计算相邻两行某列差值的方法

简述 博主最近因工作任务缠身,都无暇顾及到我的这片自留地了.前段时间稍有空闲,花了较多的精力学习<啊哈算法>,从中学习到很多之前没有太注重的内容,收益颇丰.但是这些算法题目还没有看完,等后面有时间了,还需重新自我温习一下前面所写的内容,并且继续耕耘后面的算法知识. 今天稍微有点时间,总结一下博主近期工作中所遇到的一些难题,希望借此机遇总结一下类似问题的解决方法,也算是一种积累吧. 背景 我们在司机的手机APP里预置了定时上报GPS数据的功能,功能设置为了APP每15秒收集一次GPS定位地址,然

设置相机朝向对象,并设置最佳观察的视野

LookToObject.cs绑定到Camera上 using UnityEngine; /// <summary> /// 设置相机朝向对象,并设置最佳观察的视野 /// </summary> public class LookToObject:MonoBehaviour{ [Tooltip("相机所拍摄的对象")] public GameObject target; private MeshRenderer _targetMeshRenderer; priv

阿里 2014-08-29 校招机试题 求一个存放整数的二叉树相差最大的两节点差值绝对值

题目:写一个函数,输入一个二叉树,树中每个节点存放了一个整数值,函数返回这颗二叉树中相差最大的两个节点间的差值绝对值.请注意程序效率. 如果是数值之差,感觉怎么着也得遍历一遍,直接修改下二叉树的基本遍历代码就可以. #include<stdio.h> #include <stdlib.h> typedef struct Node { int data; struct Node * left; struct Node * right; } BitNode, *BiTree; /* 求

CSAPP读书随笔之一:为什么汇编器会将call指令中的引用的初始值设置为-4

CSAPP,即<深入理解计算机系统:程序员视角>第三版,是一本好书,但读起来确需要具备相当的基本功.而且,有的表述(中译文)还不太直白. 比如,第463页提到,(对于32位系统)为什么汇编器会将call指令中的引用的初始值设置为-4.其后解释语焉不详.结合文中对代码计算公式的展开: *refptr = (unsigned) (ADDR(r.symbol) + *refptr - refaddr) = (unsigned) (0x80483c8        + (-4)     - 0x804

查找(哨兵查找、二分查找、差值查找)

#include <iostream> using namespace std; #define N 10 int fib(int n) { if(n == 0) { return 0; } else if(n == 1) { return 1; } else { return (fib(n-1) + fib(n-2)); } } //普通查找: int sequenctial_Search(int *a,int n,int key) { int i; a[0] = key; i = n; w