![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
camera
文章平均质量分 92
chengwei_peng
想折腾却不会折腾的阿伟
展开
-
Linux设备驱动之Camera驱动
Linux Camera驱动框架原创 2023-09-23 09:25:34 · 3334 阅读 · 1 评论 -
mipi sensor 调试流程
简单介绍camera sensor调试流程原创 2021-01-09 17:34:50 · 8093 阅读 · 7 评论 -
记一次解决 CMOS sensor 图像闪烁
很长一段时间没有更新博客了,忙,也没有很好的议题,就没有更新博客了。上个月遇到一个比较有意思的问题 — camera 图像亮度闪烁,今天就拿这个问题更新一下博客,记录一下当时的排查步骤,回顾一下自己漏掉的信息点,铭记。【背景】预览时画面闪烁,闪烁似乎是不规律的。【排查步骤】使能 AE log,通过 log 确认是否由于 AE 步进过快,容忍度较小,导致 AE 来回震荡。通过查看 log ,结合 isp ae 参数,确实存在 AE 步进过快,容忍度较小的情况。修改点:将 AE 步进降低,提原创 2020-11-06 20:21:02 · 3075 阅读 · 3 评论 -
从 sensor 输出数据到 SOC mipi 接收
mipi CSI-2 协议是怎样的?sensor 的数据到底是怎样通过 mipi 传输到 SOC 的,本文一起学习 mipi CSI-2 协议。原创 2020-06-09 20:27:07 · 8594 阅读 · 3 评论 -
linux 系统 CPU 负载高导致丢失 camera 中断从而丢帧的查找过程
问题背景编写 camera 应用应该都知道,如果应用层没有及时的获取 buf,或者长期占用了内核的 buf 而没有返回给内核队列将会导致丢帧。这个丢帧是应用操作导致内核驱动队列 buf 不够用而覆盖之前的图像内容导致的丢帧,这种丢帧是内核驱动框架是知道的,本来应该重新设置 DMA 的目标地址的,但是因为队列中没有空闲的 buf 从而覆盖之前旧的 buf,也就是这样的丢帧,内核驱动是可以计数的,可...原创 2020-03-29 17:48:26 · 2621 阅读 · 0 评论 -
camera AE 效果出现闪烁问题排除方式
在调试图像 AE 效果时,如果出现某些场景闪烁的情况,应当怎么解决呢,下面根据之前遇到的实际情况给出一点建议:确认曝光和增益设置的准确性,分别测试曝光和增益的线性度,确认效果是线性递增的先通过曝光测试和增益测试确认sensor的线性度,可考虑固定帧数步进,对比前后的图像亮度,确认 sensor AEC/AGC 是否正常。考虑使用 sensor 的 group hold 功能,确保生效...原创 2020-03-21 17:57:50 · 7878 阅读 · 0 评论 -
Android camera拍照流程
在前面的文章,我们了解到了预览流程是怎样的,那么拍照,又是如何进行的呢,下面我们一起来了解一下。APP当我们点击拍照按钮的时候,在APP中,将会创建一个拍照请求,在这里,将会设置分辨率等参数,而后创建请求,下面我们从 OneCameraImpl::takePicture() 开始跟踪。OneCameraImpl::takePicture() OneCameraImpl::takePi...原创 2019-10-19 13:11:06 · 1139 阅读 · 0 评论 -
Android camera预览流程
前面已经简单介绍了,在Android系统中open camera的流程,但是,它又是怎么预览、怎么配置流,如何最终操作到camera HAL的呢。接下来以android原生相机应用,android9,API2,camera HAL3为例,继续阅读代码,看看预览过程到底进行了什么操作?configureStreams 操作APP — 从open camera说起在 Camera2 相机应用,打...原创 2019-10-17 16:30:24 · 10664 阅读 · 3 评论 -
Android camera HAL框架
接下来将会了解Android HAL是如何与相机设备、Framework进行交互的,为了简单起见,我们使用androidP代码中的谷歌实例代码进行学习,代码路径为:android/hardware/libhardware/modules/camera/3_4。一般的,各个平台的camera HAL将会有个 v4l2_camera_hal.cpp 文件。在这里,将是HAL对外的接口,该文件将会通过...原创 2019-09-29 13:44:55 · 3683 阅读 · 2 评论 -
ISO感光度 光圈 快门 景深
不懂相机的一些名词,自己Mark一下。ISO感光度感光度,又称为ISO值,是衡量底片对于光的灵敏度。对于较不敏感的底片,需要曝光更长的时间以达到跟较敏感底片相同的成像,因此通常被称为慢速底片。高度敏感的底片因而称为快速底片。无论是数位或是底片摄影,为了减少曝光时间,相对使用较高敏感度通常会导致影像质量降低(由于较粗的底片颗粒或是较高的影像噪声或其他因素)。感光度与所需的曝光量成反比,感光度越高...原创 2019-09-20 19:40:03 · 1451 阅读 · 0 评论 -
Android openCamera流程
了解android open camera流程是怎样的原创 2019-08-16 20:06:34 · 7518 阅读 · 0 评论 -
Android CameraService启动流程
Android CameraService 究竟是怎么运行的,都做了些什么,下面一起来看看。原创 2019-08-14 13:50:43 · 3545 阅读 · 0 评论 -
uvc camera使用buf的物理地址出现错误
在使用uvc camera输出图像数据buf之后,如果想将这些图像数据进一步处理,比如编码录像保存。为了减少数据拷贝,在将数据送往编码器的时候,一般会使用物理地址进行编码,但是uvc camera输出的buf,想通过struct v4l2_buffer结构体中的m.offset成员变量获取物理地址会出现错误---物理地址不正确。 出现以上现象,那是因为在uvc camera的驱动...原创 2018-06-03 17:52:08 · 1075 阅读 · 0 评论 -
uvc camera在usb带宽不足的情况下,如何正常出图?
在某些平台设备,如果同时使用多个uvc camera进行数据采集或者是同一个USB,既用作OTG功能,又用作USB host功能,会因为USB 带宽的的限制,导致camera无法正常使用,使用失败的现象如下:uvcvideo: Failed to submit URB 0 (-28).No space left on device 在通过VIDIOC_STREAMON开...原创 2018-06-07 09:25:44 · 14186 阅读 · 38 评论 -
camera申请buf流程
camera通过v4l2框架申请buf流程以下内容,以linux4.9版本代码arm架构进行介绍。VIDIOC_REQBUFS在应用层通过ioctl传输VIDIOC_REQBUFS命令,将会传递count、type和memory等参数,通过ioctl将会执行到camera的驱动函数vidioc_reqbufs()。通过驱动的该函数,最终将会调用到videobuf2-v4l2.c的vb2_co...原创 2018-12-02 15:45:08 · 3172 阅读 · 5 评论 -
ISP流程概述(转载)
作者:Jack Frost来源:CSDN原文:https://blog.csdn.net/zhi11235813/article/details/78801528一、概述ISP(Image Signal Processor), 即图像信号处理, 主要作用是对前端图像传感器输出的信号做后期处理, 依赖于 ISP 才能在不同的光学条件下都能较好的还原现场细节。Cmos YUV sensor ...转载 2018-12-23 12:42:21 · 2179 阅读 · 0 评论 -
csi mipi信号解析
1. 传输模式LP(Low-Power) 模式:用于传输控制信号,最高速率 10 MHzHS(High-Speed)模式:用于高速传输数据,速率范围 [80 Mbps, 1Gbps] per Lane传输的最小单元为 1 个字节,采用小端的方式及 LSB first,MSB last。2. Lane StatesLP mode 有 4 种状态: LP00、LP01(0)、LP10(1...原创 2019-03-01 15:00:22 · 32494 阅读 · 39 评论 -
Linux media子系统
为什么会有media这样的一个子系统?在多媒体的框架中,总是复杂多样的,为了解决多媒体设备的复杂性和数据流动性,创建了media子系统。Media使用一个树状结构,将多媒体数据通路的各个设备连接在一起,方便各个设备的管理和控制。media 框架在开机的时候,将会在[media-devnode.c]中,通过media_devnode_init()函数为media设备分配一个主设备号,次设备号从...原创 2019-05-24 14:21:02 · 5574 阅读 · 1 评论 -
关于cmos工频干扰导致的闪烁问题
为什么会出现闪烁或者图像明暗相间的横条纹?以国内50Hz交流电为例,灯具将是以100Hz的频率波动,在同一个周期内各个点的亮度不一致。而cmos sensor在曝光的时候是全局曝光或者是局部曝光。当全局曝光时,哪怕曝光时间相同,也会导致帧与帧的图像亮度不一致,这是由于外界亮度在周期变化导致的,所以眼睛直观的看到图像闪烁;而局部曝光时,同一图像的不同行是分开曝光的,所以会看到明暗相间的横条纹。c...原创 2019-06-30 11:00:56 · 5120 阅读 · 0 评论 -
Android Camera Provider启动流程
在 Android O 中,系统启动时,就会启动 CameraProvider 服务。它将 Camera HAL 从 cameraserver 进程中分离出来,作为一个独立进程 android.hardware.camera.provider@2.4-service 来控制 HAL。这两个进程之间通过 HIDL 机制进行通信。这样的改动源自于 Android O 版本加入的 Treble 机制...原创 2019-08-13 17:36:39 · 7554 阅读 · 0 评论 -
Linux camera注册流程分析
本文通过介绍Linux内核自带的vivid代码,解析Linux camera框架,vivid(virtual video driver)是Linux内核中一个基于v4l2的虚拟video驱动,介绍如下: This driver emulates a webcam, TV, S-Video and HDMI capture hardware, including VBI supp...原创 2018-06-03 16:16:07 · 2922 阅读 · 8 评论