博客
关于我
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 利用pyspark读取HDFS中CSV文件的指定列 列名重命名 并保存回HDFS
    查看>>
    python 利用pyttsx3文字转语音
    查看>>
    python 利用已有Ner模型进行数据清洗合并
    查看>>
    python 到大数据开发工程师_如何成为一个大数据开发工程师?
    查看>>
    python 加密解密(base64, AES)
    查看>>
    Python 包管理器和 Node.js
    查看>>
    Python 单词字母顺序不变且所有倒排
    查看>>
    python 反射机制
    查看>>
    python 启动提示IDLE's subprocess didn't make conne...
    查看>>
    python 命令接口_实现“[命令][操作][参数]”样式的命令行接口?
    查看>>
    Python 和 OpenCV.如何检测图像中的所有(填充)圆形/圆形对象?
    查看>>
    Python 和 RabbitMQ - 聆听来自多个渠道的消费事件的最佳方式?
    查看>>
    python编辑器打不开_关于命令ride.py打不开RF,而是打开pycharm编辑器问题解决思路...
    查看>>
    python编译exe同时支持32位_第三周:同时管理64位和32位版本的Python,并用Pyinstaller打包成exe...
    查看>>
    Python 和Java 哪个更适合做自动化测试?
    查看>>
    Python编程:掌握高级语言程序设计。从零基础到精通,收藏这篇就够了!
    查看>>
    python 图片转ico
    查看>>
    python 图片转文字、语音转文字、文字转语音保存音频并朗读
    查看>>
    python 在包含类似字符\x16、\x12、\x某某的数组中将以\x开头的字符找出来的方法
    查看>>
    Python 在并行进程之间共享字典
    查看>>