android 颜色反转 api,来自Android camera2 API的图像数据在Galaxy S5上翻转和压缩
我正在实现一个应用程序,它使用来自相机的实时图像进行实时图像处理.使用现已弃用的android.hardware.Camera,它有限制地工作;提高灵活性和性能我想使用新的android.hardware.camera2 API.然而,我无法获取原始图像数据进行处理.这是三星Galaxy S5. (不幸的是,我没有其他Lollipop设备可以方便地在其他硬件上进行测试).
我得到了整体框架(灵感来自’HdrViewFinder’和’Camera2Basic’样本),并通过SurfaceTexture和GLSurfaceView在屏幕上绘制实时图像.但是,我还需要访问图像数据(灰度级很好,至少目前为止),以进行自定义图像处理.根据StreamConfigurationMap.isOutputSupportedFor(class)的文档,直接获得图像数据的推荐表面将是ImageReader(正确吗?).
所以我将捕获请求设置为:
mSurfaceTexture.setDefaultBufferSize(640, 480);
mSurface = new Surface(surfaceTexture);
...
mImageReader = ImageReader.newInstance(640, 480, format, 2);
...
List surfaces = new ArrayList();
surfaces.add(mSurface);
surfaces.add(mImageReader.getSurface());
...
mCameraDevice.createCaptureSession(surfaces, mCameraSessionListener, mCameraHandler);
在ImageReader的onImageAvailable回调中,我正在访问数据,如下所示:
Image img = reader.acquireLatestImage();
ByteBuffer grayscalePixelsDirectByteBuffer = img.getPlanes()[0].getBuffer();
…虽然(如上所述)实时图像预览正在运行,但我得到的数据(或者我得到它的方式)有问题.根据
mCameraInfo.get(CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP).getOutputFormats();
…应支持以下ImageFormats:NV21,JPEG,YV12,YUV_420_888.我已经尝试了所有(插入上面的’format’),所有都支持根据getOutputSizes(格式)设置的分辨率,但它们都没有给出所需的结果:
> NV21:ImageReader.newInstance抛出java.lang.IllegalArgumentException:不支持NV21格式
> JPEG:这确实有效,但对于实时应用程序来说,对每个帧进行JPEG编码和解码似乎没有意义……
> YV12和YUV_420_888:这是最奇怪的结果 – 我可以看到得到灰度图像,但是它是垂直翻转的(是的,翻转,没有旋转!)并且显着地被压扁(水平缩放,但不是垂直缩放).
我在这里想念的是什么?是什么导致图像被翻转和压扁?如何获得几何正确的灰度缓冲区?我应该使用不同类型的表面(而不是ImageReader)吗?
任何提示赞赏.
android 颜色反转 api,来自Android camera2 API的图像数据在Galaxy S5上翻转和压缩相关推荐
- android 颜色过渡动画效果,Android buttom textview 颜色平滑过渡的动画效果
1.TransitionDrawable.例如,在文件夹中绘制一个xml文件,你可以这样写: 然后,在你的xml的实际检视你都引用这个TransitionDrawable在android:backgr ...
- python怎么设置颜色深浅变化_机器学习中减弱不同图像数据色调及颜色深浅差异...
关键词:消除不同图像数据色调差异/消除颜色深浅差异/病理/机器学习/深度学习/人工智能 机器学习训练图像数据时可能会因为图像数据之间的颜色深浅,色调等影响训练和预测结果,本方法可以减弱颜色深浅/色调不 ...
- android 颜色渐变方法,在android上渐变按钮颜色变化
我想逐渐改变按钮颜色,点击它之后.我的意思是,按钮必须具有,例如下一组颜色:默认情况下 – 深蓝色,然后是深蓝色,然后是蓝色,然后是浅蓝色,最后是最亮的蓝色.这只是一个例子,我真的想在循环中更改按钮颜 ...
- curl 请求日志_kong api网关日志 将请求和响应数据附加到磁盘上的日志文件中
术语 plugin:在请求被代理到上游API之前或之后,在Kong内部执行操作的插件. Service:表示外部上游 API或微服务的Kong实体. Route:Kong实体,表示将下游请求映射到上游 ...
- android camera捕捉,通过android camera2 API捕捉4:3相机图片与16:9传感器阵列相机
我想从使用Camera2 API(Android 5.0版本中添加)的Android fron-facing相机以4:3的宽高比捕捉视频.它工作正常,除非相机有16:9传感器阵列(作为三星Galaxy ...
- android camera hal3 分析,HAL3 enabler下载-HAL3 enabler(开启camera2 api)下载v5.0 安卓版-西西软件下载...
HAL3 enabler(开启camera2 api)让你无需Magisk模块就能够轻松的开启手机当中的camera2 api功能.对于想要将手机当中的相机功能玩出更多花样的人来说,这绝对是一款极为便 ...
- android 获取linux线程状态,Android 的进程与线程总结
本文翻译自Android官方文档 当一个Android应用程序组件启动时候,如果此时这个程序的其他组件没有正在运行,那么系统会为这个程序以单一线程的形式启动一个新的Linux 进程. 默认情况下,同一 ...
- s5原生android 5.0,三星Galaxy S5升级Android 5.0:美味棒棒糖
快速设置与通知 作为Android 5.0 Lollipop重要的新特性之一,在全新TouchWiz的声音与通知菜单也中也新增了智能通知选项,可对每一个应用的通知状态进行管理,避免敏感信息泄露,而通知 ...
- 黑白图片颜色反转并保存
将图像的黑白颜色反转并保存 import cv2 # opencv读取图像 img = cv2.imread(r'E:\Python-workspace\OpenCV\OpenCV/YY.png', ...
最新文章
- fedora mysql 客户端_fedora mysql 安装
- 如何检查你的项目是不是真的需要用到 AI?
- 将图片的二进制序列转为numpy且有shape
- 未处理sqlexception中value_plsql异常处理
- Python中_,__,__xx__方法区别
- lucene使用3.0.3_Apache Lucene 5.0.0即将发布!
- VM虚拟机ping不通局域网其他主机的解决办法
- python函数方法里面用浅复制深复制_图解 Python 浅拷贝与深拷贝
- windows 下安装nodejs及其配置环境
- linux复制后权限变了,linux系统(centos debian freebsd等)如何拷贝数据并保持原来的属性(权限 属主)不变?...
- 空中交警:借你一双“慧眼”,让你看透这飞机的“黑色十分钟”
- 270 扩展固态硬盘_新款macbook扩展坞,内置固态硬盘盒,支持NVME M2协议,一秒传输1GB...
- Chapter 1: Motion Blur
- python 进化树_科学网-应用Raxml软件构建最大似然法系统进化树-王翠的博文
- 读书笔记(十五)--将才
- SAP批量修改物料标准成本
- 判断数是否为素数与素数输出
- 编程之美 1.2 中国象棋将帅问题
- android listview替代,Android笔记——RecyclerView替代ListView
- Android判断软键盘 输入法 是否显示
热门文章
- java任务追踪预警怎么写_分布式系统中如何优雅地追踪日志(原理篇)
- 计算时间差_小王子是怎么用四步法进行时间计算并成功避开日界线的
- python找工作学历要求_自考本科找工作被拒=自考学历没用?
- 【flink】flink写入clickhouse Error while starting CH writer AccessDeninedExcepton
- 95-36-220-ChannelHandler-RejectedExecutionHandlers
- [MySQL] 2059 - Authentication plugin ‘caching_sha2_password‘ cannot be loaded dlope
- 【Flink】Flink network netty ProducerFailedException SimpleChannelInboundHandler NullPointerException
- 【Flink】Flink 1.9 本地运行无法访问界面 {“errors“:[“Not found.“]}
- Spring : @EnableTransactionManagement注解
- Nginx 反向代理配置