博客
关于我
31全志r58平台Android4.4.2下打开USB摄像头
阅读量:211 次
发布时间:2019-02-28

本文共 3080 字,大约阅读时间需要 10 分钟。

Android 4.4.2 系统下 USB 摄像头驱动配置与使用说明

在 Android 4.4.2 系统下配置并使用 USB 摄像头可能会遇到一些问题。本文将详细介绍解决方案和相关配置步骤。

一、系统编译与依赖为了确保 USB 摄像头驱动正常工作,需要先编译系统并安装相关依赖项。以下是需要注意的版本信息:

  • Android 系统版本:4.4.2
  • 硬件平台:Softwinner SC5806
  • 相关工具:Linux Kernel 3.4.43(适用于 Softwinner 平台)
  • 二、需要修改的文件在配置过程中,以下文件需要重点关注:

  • W:\r58_android_v4.4\android\device\softwinner\octopus-common\hardware\camera\V4L2CameraDevice2.cpp
  • W:\r58_android_v4.4\android\device\softwinner\octopus-f1\configs\camera.cfg
  • W:\r58_android_v4.4\android\device\softwinner\octopus-f1\configs\media_profiles.xml
  • W:\r58_android_v4.4\android\device\softwinner\octopus-f1\BoardConfig.mk
  • W:\r58_android_v4.4\android\device\softwinner\octopus-f1\init.sun8i.rc
  • W:\r58_android_v4.4\lichee\linux-3.4.config
  • 三、代码修改说明在 V4L2CameraDevice2.cpp 文件中,主要修改了以下部分:

  • 模块初始化与连接设备
  • Mutex::Autolock locker(&mObjectLock);if (isConnected()) {    LOGW("%s: camera device is already connected.", __FUNCTION__);    return NO_ERROR;}// open v4l2 camera deviceint ret = openCameraDev(halInfo);if (ret != OK) {    return ret;}// get sensor type from driverswitch((v4l2_sensor_type)getSensorType()) {case V4L2_SENSOR_TYPE_YUV:    LOGV("the sensor is YUV sensor");    mSensor_Type = V4L2_SENSOR_TYPE_YUV;    break;case V4L2_SENSOR_TYPE_RAW:    LOGV("the sensor is RAW sensor");    mSensor_Type = V4L2_SENSOR_TYPE_RAW;    break;default:    if(mIsUsbCamera) {        LOGV("the sensor is UVC sensor wyb add 2018/10/26 13:58");        mSensor_Type = V4L2_SENSOR_TYPE_YUV;    } else {        LOGE("get the sensor type failed wyb add 2018/10/26 14:59");        goto END_ERROR;    }    break;}halInfo->fast_picture_mode = (int)mSensor_Type;memcpy((void*)&mHalCameraInfo, (void*)halInfo, sizeof(HALCameraInfo));
    1. 图像处理功能
    2. // 主图像裁剪calculateCrop(&mRectCrop, mNewZoom, mMaxZoom, mFrameWidth/2, mFrameHeight/2);// 子图像裁剪(仅在快拍模式下)if (mHalCameraInfo.fast_picture_mode) {    calculateCrop(&mThumbRectCrop, mNewZoom, mMaxZoom, mThumbWidth, mThumbHeight);}

      三、配置文件修改在 camera.cfg 文件中,需要调整以下参数:

    3. exif 信息配置
    4. key_camera_exif_make = MAKE_AllWinnerkey_camera_exif_model = MODEL_f1
      1. 摄像头配置
      2. camera_id = 0camera_facing = 0use_builtin_isp = 0camera_orientation = 90camera_device = /dev/video0

        三、驱动加载与测试在 BoardConfig.mk 文件中,需要加载以下驱动:

        # gpuinsmod /system/vendor/modules/pvrsrvkm.koinsmod /system/vendor/modules/dc_sunxi.ko# csi moduleinsmod /system/vendor/modules/videobuf-core.koinsmod /system/vendor/modules/videobuf-dma-contig.koinsmod /system/vendor/modules/cci.koinsmod /system/vendor/modules/actuator.koinsmod /system/vendor/modules/vfe_os.koinsmod /system/vendor/modules/vfe_subdev.koinsmod /system/vendor/modules/dw9714_act.koinsmod /system/vendor/modules/hi253.koinsmod /system/vendor/modules/ov8858_4lane.koinsmod /system/vendor/modules/vfe_v4l2.ko# usb module / UVCinsmod /system/vendor/modules/videobuf2-core.koinsmod /system/vendor/modules/videobuf2-memops.koinsmod /system/vendor/modules/videobuf2-vmalloc.koinsmod /system/vendor/modules/uvcvideo.ko

        四、开发调试在开发过程中需要注意以下几点:

      3. 确保所有驱动版本与系统版本匹配
      4. 配置文件中参数需与硬件实际情况一致
      5. 可能需要手动测试不同分辨率下的摄像头性能
      6. 注意电源管理配置
      7. 定期检查日志信息,及时解决问题
      8. 通过以上配置和修改,可以在 Android 4.4.2 系统下正常使用 USB 摄像头功能。如有特殊问题,请根据日志信息逐步排查并调整相应配置。

    转载地址:http://ygdp.baihongyu.com/

    你可能感兴趣的文章
    Python 中读取 CSV 文件-ChatGPT4o作答
    查看>>
    Python 之 filecmp
    查看>>
    python请求html_使用Python请求获取HTML?
    查看>>
    Python 之匿名函数和偏函数
    查看>>
    python 之栈的实现
    查看>>
    python语音播放
    查看>>
    python语言:装饰器原理
    查看>>
    Python 交互式数据可视化详解
    查看>>
    python语言有哪些优点和缺点_Python有哪些优缺点,你了解吗?
    查看>>
    Python 从入门到精通:30天速成教程到底有多狠?你能坚持下来吗?
    查看>>
    Python 从数据库中存储和检索密码的最安全方法
    查看>>
    Python语言及其应用 - 知识点遍历
    查看>>
    Python 优化提速的 8 个小技巧
    查看>>
    Python 余弦相似度与皮尔逊相关系数 计算
    查看>>
    python 使用execjs 报编码错误解决办法,UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xac in position 145: il
    查看>>
    python 使用filetype校验文件
    查看>>
    Python 使用flush函数将缓冲区数据立即写磁盘
    查看>>
    python 使用in判断不准确,in不好使
    查看>>
    Python 使用pandas 进行查询和统计详解
    查看>>
    Redis 配置文件redis.conf详细解释
    查看>>