请教个问题
如果preview时图像正确,拍照成的像水平翻转了〔缩略图也翻转了〕,是怎么回事?
ps: 代码是qualcomm 平台2.3,后摄像头没有问题,前摄像头成像水平翻转。
我看了这篇文章
http://blog.csdn.net/daisyhd/article/details/6000962感觉有个地方应该可以设置jpeg编码从右向左或从左向右,但没找到具体位置。看了好几天没搞定,
老是看到一个oriention设置,但无论设置成 0 90 180 270 ,也不会有水平翻转的情况出现啊
如果preview时图像正确,拍照成的像水平翻转了〔缩略图也翻转了〕,是怎么回事?
ps: 代码是qualcomm 平台2.3,后摄像头没有问题,前摄像头成像水平翻转。
我看了这篇文章
http://blog.csdn.net/daisyhd/article/details/6000962感觉有个地方应该可以设置jpeg编码从右向左或从左向右,但没找到具体位置。看了好几天没搞定,
老是看到一个oriention设置,但无论设置成 0 90 180 270 ,也不会有水平翻转的情况出现啊
解决方案 »
- MTK蓝牙连接问题
- bmp_to_raw和zpipe的源码
- using WindowsPhoneNavigation.Misc;
- 求助贴:android多媒体流程分析
- 【求助】我的helloworld程序没有效果
- Android菜鸟,急,为何程序跑起来模拟器总是没有反应?
- android opengl ed 中onDrawFrame多久调用一次,
- andriod service 监听按键
- 请问下android中final的使用
- 相同代码,一台模拟器正常运行,一台模拟器报空指针
- SDL在android上怎么显示YUV视频数据
- 求解释popup.showAtLocation(findViewById(R.id.layout),Gravity.BOTTOM, 0, -70);这句代码
其实你所说的这种前置摄像头拍照情况,因为镜面效应,所以preview正确但照出的相片是镜面的,这个照文字最明显。
如果是我描述的这种情况,那么你需要根据硬件厂商提供的datasheet,来修改取景/拍照镜面设置与否选项。一般硬件都会提供此类寄存器设置的。
camera确实有设置镜像的寄存器,我正是修改了这个才将preview显示正常的,如果在sanpshot时再修改次寄存器,拍照结束再写回初始化值,也可以将拍照正常,但回显又是倒着的。所以才怀疑jpeg编码问题。
问个问题,camera 驱动probe时设置属性:
s->s_camera_type=FRONT_CAMERA_2D;// BACK_CAMERA_2D
// s->s_mount_angle=90; //0x13
s->s_mount_angle=270; //0x10
如果是前camera,这个s_mount_angle应该是多少,这个值是怎么确定的?
有以下两个问题:
1.拍完照回显有1s左右preview是倒的
2.竖屏只有回显不对,横屏时拍的照也是倒立的。但这里驱动的设置是一样的。
郁闷了~
在想与其这样在驱动里不停的设置镜像寄存器,还不如只在初始化时设置镜像寄存器一个值,先保证横竖preview都正常,只是在拍照时设置jpeg编码从右向左,成像不就可以了,只是‘jpeg编码从右向左’这个地方没有找到,这个思路对不对?
调过前camera的大侠冒个泡啊~
我做的是平板,只有前置摄像头,恰巧我也负责camera这块。只是无法理解你说的“不停的设置镜像寄存器”。
拍完照回显有1s左右preview是倒的?你的这种情况十分离奇我没有遇到过。如果你已经修改了寄存器设置,那么照片的缩略图应该是和取景相反,并且照片也是如此保存。
我可以确定的是 s_mount_angle 不能达到你所期盼的目的,修改oriention它只能让画面整体翻折倾倒,而不能以中心为轴而得到镜像画面。
对于你提到的 “jpeg编码从右向左”,我真没有见过这么来设置前置摄像头的,听起来更像是图片处理工具会走的思路,可能是我out了 ^_^
这不对吧,缩略图不是应该和取景器一致吗,preview的图像就是就是拍照成像的样子,我看的前camera都是这样的
绝对不可能。
前置camera要求: 缩略图和照片一致,并且与取景相反。 也就是再照相得瞬间,会翻折一次。我非常确定。
刚刚拿iphone测试了一下,也是如此。
今天在camera.java的确有看到注释说明前camera会以中轴左右翻转,以为是app单独要这么搞。
’缩略图和照片一致‘前后camera都应该是这样,但是前camera要求与取景相反,左右翻转?
有些晕了,搞了好几天难道不是问题?我现在就是无论横拍还是竖拍,缩略图和成像都是把preview
左右翻折了。明天再找个对比机器看看去,看错了?
是bug还是feature由需求决定!
最终还得改。
前camera拍出来的就会水平翻转,luckyboy兄,知不知道如何不让它翻转啊?
都说要修改镜像寄存器,snapshot时修改,成像的确可以和preview一致,但回显又翻转了,万恶的camera啊~
VIDIOC_S_CTRL倒是有,但没有和flip相关的code、
从平台提供商得到的答复是,如果sensor type软件上设为front camera,成像就是flip,现在还没有
解决办法,无语ing
请问版主是在哪个平台上做的平板,软件android3.0?硬件平台?
我android多版本,硬件tegra2,你呢
问了一高人,说翻转才是正常效果,
对比了htc的带有前置摄像头的手机,拍出来的也是左右翻转的。。这个应该是在isp出数据的时候已经翻转了。
实际这个问题有四个像:实像,preview,缩略图,照片;preview是照相时拍摄者在设备上看到的动态画面,缩略图是按下快门后定格的画面,照片是最终存储的文件。
现在主流设备如yiyaaixuexi所说,是preview与实像相反,而缩略图、照片与实像相同。这样的设计解决了以下两个问题:预览时的镜像效果,存储后图像正向、文字正常。但造成我前面提到的问题:预览画面和按下快门后的“预览图”(缩略图)反向,在侧机时表现尤为明显。解决方法很简单,把缩略图改成与实像相反。
protected void setDisplayOrientation(Camera camera, int angle) {
Method downPolymorphic;
try {
downPolymorphic = camera.getClass().getMethod(
"setDisplayOrientation", new Class[] { int.class });
if (downPolymorphic != null)
downPolymorphic.invoke(camera, new Object[] { angle });
} catch (Exception e1) {
}
}