自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

你好呀,信田君!

信田君,要做一个有趣的嵌入式开发工程师

  • 博客(60)
  • 资源 (6)
  • 收藏
  • 关注

原创 python note

运算(矩阵的加减法、矩阵与向量相乘、矩阵与矩阵相乘、矩阵的转置等。,Python 下常用的科学计算库。TensorFlow 与之结合紧密;(赋值、分支及循环语句、使用 import 导入库);求函数的局部最小值。

2023-11-20 23:59:46 199

原创 DNN框架中的NCHW与NHWC数据格式

​流行的深度学习框架的NCHW和NHWC数据格式。

2022-09-13 10:56:24 663 1

原创 人工智能与神经网络BenchMark--MLPerf

MLPerf is a benchmark suite for ML

2022-07-22 15:17:07 1557 1

原创 人工智能与神经网络-激活函数

激活函数

2022-07-20 15:14:00 903

原创 人工智能与神经网络-它怎么工作

人工智能是怎么工作的呢?

2022-07-12 17:25:01 1220 2

原创 人工智能与神经网络-数学与编程语言

什么是人工智能和神经网络?

2022-07-11 11:36:43 486 1

原创 stride for plane for YUV

YUVYou can think of an image as a superposition of severalplanes(or layers in a more natural language). YUV formats have three planes:Y,U, andV.Yis thelumaplane, and can be seen as the image as grayscale.UandVare reffered to as thechromap...

2021-09-26 17:00:11 414

原创 YUV格式数据

YUV格式有两大类:平面(planar)和紧凑(packed)。对于planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V。对于packed的YUV格式,每个像素点的Y,U,V是连续交*存储的。以下缩写p表示“紧凑”,sp表示“半紧凑”。以分辨率8*4为例,数据存储方式如下。1、yuyv(yuv422)【YUY2】:YUYVYUYVYUYVYUYVYUYVYUYVYUYVYUYVYUYVYUYVYUYVYUYVYUYVYUYVYUYVY

2021-08-20 10:37:45 770

原创 V4L2 操作流程和接口说明

背景:  V4L2是V4L的升级版本,为linux下视频设备程序提供了一套接口规范。包括一套数据结构和底层V4L2驱动接口。一般操作流程(视频设备):1.打开设备文件。int fd=open("/dev/video0",O_RDWR);2. 取得设备的capability,看看设备具有什么功能,比如是否具有视频输入,或者音频输入输出等。VIDIOC_QUERYCAP,struct v4l2_capability(可选)3. 选择视频输入,一个视频设备可以有多个视频输入。

2021-08-03 10:35:35 1614

原创 ADB:通过 Wi-Fi 连接到Android设备的两种方法

adb 的工作原理当您启动某个 adb 客户端时,该客户端会先检查是否有 adb 服务器进程正在运行。如果没有,它会启动服务器进程。服务器在启动后会与本地 TCP 端口 5037 绑定,并监听 adb 客户端发出的命令 - 所有 adb 客户端均通过端口 5037 与 adb 服务器通信。然后,服务器会与所有正在运行的设备建立连接。它通过扫描 5555 到 5585 之间(该范围供前 16 个模拟器使用)的奇数号端口查找模拟器。服务器一旦发现 adb 守护程序 (adbd),便会与相应的端口建立连接

2021-07-23 16:58:22 3469 1

原创 Android APP Dev-ViewBinding 视图绑定 (二)

本文是结合学习第一行代码3 中Fragment章节的时候,我在练习FragmentBestPractise project时,相比于书里的code, 我用了viewbinding代替了kotlin extensions,也由此引入一些问题,相关内容的一些总结:1.Configurations for activity_main.xml must agree on the root element's ID这个问题发生在写了根据不同适配的layout xml。这里注意,两个布局的根元素的 id 必须.

2021-07-20 14:16:47 1666 5

原创 Android APP Dev-ConstraintLayout 约束布局

https://developer.android.com/reference/androidx/constraintlayout/widget/ConstraintLayouthttps://developer.android.com/training/constraint-layouthttps://blog.csdn.net/guolin_blog/article/details/53122387https://www.jianshu.com/p/17ec9bd6ca8ahttps://w

2021-07-13 19:44:31 109 2

翻译 Android APP Dev-ViewBinding 视图绑定

https://developer.android.com/topic/libraries/view-binding#kotlinhttps://developer.android.com/topic/libraries/view-binding/migrationhttps://blog.csdn.net/guolin_blog/article/details/113089706Google明确地告诉我们,kotlin-android-extensions插件已被废弃,现在推荐使用ViewBi

2021-07-13 14:22:43 199

原创 Android HIDL

HIDL的全称是HAL interface definition language(硬件抽象层接口定义语言),在此之前Android 有AIDL,架构在Android binder 之上,用来定义Android 基于Binder通信的Client 与Service之间的接口。HIDL也是类似的作用,只不过定义的是Android Framework与Android HAL实现之间的接口,用于指定 HAL 和其用户之间的接口的一种接口描述语言 (IDL)。HIDL 允许指定类型和方法调用(会汇集到接口和软件包中

2021-07-07 10:10:42 1683

原创 Android AIDL

Proxy/Stub结构打个比方,你到自动取款机上去取款;你就是客户,取款机就是你的代理;你不会在乎钱具体放在那里,你只想看到足够或更多的钱从出口出来(这就是com的透明性)。你同银行之间的操作完全是取款机代理实现。 你的取款请求通过取款机,传到另一头,银行的服务器,他也没有必要知道你在哪儿取钱,他所关心的是你的身份,和你取款多少。当他确认你的权限,就进行相应的操作,返回操作结果给取款机,取款机根据服务器返回结果,从保险柜里取出相应数量的钱给你。你取出卡后,操作完成。 取款机不是直接同服务器连接的,他们

2021-07-06 10:55:31 192

原创 Android Service 学习资料

关于Android service, 网上有很多不错的帖子解析,搜集汇总一下, 方便时不时看看学习。Google Android Guide:https://developer.android.com/guide/components/servicesGoogle Android Reference:https://developer.android.com/reference/android/app/ServiceAndroid Service的使用介绍:https://www.jianshu

2021-07-02 14:17:51 110

原创 Android Parcel 学习

在Android中,通常使用序列化时,谷歌官方都推荐我们使用Parcelable来实现,因为效率比jdk提供的Serializable要高很多(大约10倍)https://developer.android.com/reference/android/os/ParcelParcelContainer for a message (data and object references) that can be sent through an IBinder. A Parcel can contai

2021-07-02 11:05:53 124

原创 适用于 HAL 的 AIDL

Android 11 引入了在 Android 中使用 AIDL 实现 HAL 的功能。这样就可以在不使用 HIDL 的情况下实现 Android 的部分代码。我们强烈建议尽量将 HAL 转换为只使用 AIDL(如果上游 HAL 使用 HIDL,则必须使用 HIDL)。如果 HAL 使用 AIDL 在框架组件(例如system.img中的组件)和硬件组件(例如vendor.img中的组件)之间进行通信,则必须使用稳定的 AIDL。不过,如需在分区内进行通信(例如从一个 HAL 到另一个),则对所...

2021-06-30 18:50:52 4414 3

原创 Android SystemUI 状态栏网络图标显示分析(Android 11)

最近看了一个wifi, ethernet切换,状态栏图表显示的问题。记录一下追踪由于网络状态变化,SystemUI 状态栏网络图标显示的流程。先看一下SystemUI这边:/frameworks/base/services/java/com/android/server/SystemServer.java/*** Starts a miscellaneous grab bag of stuff that has yet to be refactored and organized.*/p

2021-06-30 18:37:17 4268 3

原创 Android Camera processCaptureResult 分析

当camera open,并且顺利下发capture request之后,camera HAL完成capture操作,会通过HIDL定义的接口processCaptureResult将数据回传处理。/hardware/interfaces/camera/device/3.2/ICameraDeviceCallback.halICameraDeviceCallback是HIDL定义的camera回调接口,processCaptureResult方法就是从HAL层回调到CameraServer的接口,C

2021-06-29 12:36:18 2373 2

原创 Android Camera preview分析

大家使用API2开发相机APP时预览是调用CameraCaptureSession类的setRepeatingRequest方法,该方法的实现是由CameraCaptureSessionImpl完成的。/frameworks\base\core\java\android\hardware\camera2\impl\CameraCaptureSessionImpl.java @Override public int setRepeatingRequest(CaptureRequest

2021-06-28 18:59:56 1131 1

原创 Android camera createCaptureSession分析

在openCamera() 成功打开相机后,会通过CameraDevice.StateCallback回调接口onOpened()方法返回一个CameraDevice对象给应用层,而这个CameraDevice对象是一个CameraDeviceImpl,那么接下来的createCaptureSession就是调用它来实现的。/frameworks/base/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java @Overr

2021-06-28 14:06:31 1871

原创 Android camera 拍照 流程

APP347 /**348 * Take picture, initiating an auto focus scan if needed.349 */350 @Override351 public void takePicture(final PhotoCaptureParameters params, final CaptureSession session) {352 // Do not do anything when a pictur

2021-06-25 16:50:39 726

转载 Android camera preview流程

(原文链接:https://blog.csdn.net/weixin_41944449/article/details/102609776)APP在 Camera2 相机应用,打开相机应用将会调用到 Camera2OneCameraOpenerImpl 类 [packages/apps/Camera2/src/com/android/camera/one/v2/Camera2OneCameraOpenerImpl.java] 的 open() 方法,在该方法中将会通过 CameraManager..

2021-06-22 16:00:14 2262

原创 YCbCr色彩空间

一. RGB三原色光模式(RGB color model)表示方式R(red): 红色 G(green): 绿色 B(blue): 蓝色使用场景摄影, 彩色电视, 彩色显示屏二. HSV(HSL)HSV(HSL) 是一种将 RGB 色彩模型中的点在圆柱坐标系中的表示法。表示方式H(Hue): 色相(表示什么颜色) 每个角度上都有不同的颜色 S(Saturation): 饱和度(表示颜色的深浅) 色轮上的饱和度, 从圆心出发, 半径越大, 饱和度.

2021-06-22 14:43:51 8829 1

原创 Android camera open 流程

从 Application 连接到 CameraService,这涉及到 Android 架构中的三个层次:App 层,Framework 层,Runtime 层。其中,App 层直接调用 Framework 层所封装的方法,而 Framework 层需要通过 Binder 远程调用 Runtime 中 CameraService 的函数。(https://blog.csdn.net/qq_16775897/article/details/81537710)APP:mCameraManager.o

2021-06-21 18:38:55 2445

原创 Android Camera Provider and Service 启动流程

cameraserver 与 provider 这两个进程启动、初始化的调用逻辑,如上图所示(Thanks to :https://blog.csdn.net/qq_16775897/article/details/81240600)总体逻辑顺序:provider 进程启动,注册;cameraserver 进程启动,注册,初始化;cameraserver 获取远端 provider(此时实例化 CameraProvider 并初始化)上图中,实线箭头是调用关系。左边是 camerase..

2021-06-21 16:58:07 1458 1

原创 Treble 架构下的 Android Camera 框架

Camera 子系统从上到下分别是App/Framework,CameraService,HAL Impl App/FrameworkvsCameraService之间,通过AIDLbinder 通信 CameraServicevsCamera HAL之间,通过HIDLbinder 通信 App Framework部分是最上层部分,包括 Java & C++ 代码,实现了Android Camera2 API接口,提供给 android 应用使用,Java ...

2021-06-21 13:59:53 775 2

原创 Android External USB Cameras

The Android platform supports the use of plug-and-play USB cameras (that is, webcams) using the standardAndroid Camera2 APIand the cameraHIDLinterface. Webcams generally supportUSB video class (UVC)drivers and on Linux, the standardVideo4Linux (V4L)...

2021-06-21 13:39:19 1541

原创 Android USB Camera

Android 设备基于linux kernel, 自带V4L2支持。z

2021-06-21 13:32:25 2700

原创 Android Camera:Camera Framework架构

Camera从上到下,主要分为三层:APP client 、CameraFramework、CameraHal。这三层分别运行在不同的进程,APP client运行在APP用户进程中,CameraFramework运行在cameraserver进程中,而CamerHal运行在provider进程中。原文链接:https://blog.csdn.net/biandan1231/article/details/116866786...

2021-06-18 13:48:44 856

原创 Android Camera--CSC(color space convert)图像色彩空间转换

1 YUV域介绍根据三基色原理,任意一种色光F都可以用不同分量的R、G、B三色相加混合而成,即F = r [ R ] + g [ G ] + b [ B ],其中r、g、b分别为三基色参与混合的系数。当三基色分量都为0(最弱)时混合为黑色光;而当三基色分量都为k(最强)时混合为白色光。调整r、g、b三个系数的值,可以混合出介于黑色光和白色光之间的各种各样的色光。 ~~~~~~~在现代彩色电视系统中,通常采用三管彩色摄像机或彩色CCD摄像机进行摄像,然后把摄得的彩色图像信号经...

2021-06-17 10:55:43 1041

原创 Install OpenCV4 from source on Windows – C++ / Python

https://learnopencv.com/install-opencv-4-on-windows/文章中用到的脚本已上传供下载:OpenCV is now C++11 library and requires C++11-compliant compiler. Minimum required CMake version has been raised to 3.5.1. A lot of C API from OpenCV 1.x has been removed. Pers...

2021-03-03 10:41:08 202

原创 Android camera系列:DNG格式

1. 原厂Raw格式原厂Raw文件,直接记录了相机芯片上的数字信号,因此也被称为"数字底片"。Raw文件保留了相机拍摄的所有信息,使用了芯片上原始的色彩空间,因此画质极高,后期空间极大,摄影师在拍摄时,基本都会选用Raw格式来保存。但是Raw文件也有不好的地方,就是兼容性差。大部分Raw文件,都不能被主流电脑软件直接读取。只有各大相机厂家自己的图片软件,或者Adobe Camera Raw这样的处理程序,才能打开原厂Raw格式文件。而且每当新出了相机,老版本的图片处理软件都需要进行更新,否则是打不开新

2021-02-08 15:15:32 2452

原创 cmake

cmake是目前最好的大型项目构建工具(比autoconf之类的都要好),有很强的学习价值。另外JetBrain的CLion也是用cmake进行构建的。初级学习材料是CMake Practice这本书.例子PROJECT(HELLO)SET(SRC_LIST main.c)MESSAGE(STATUS "This is BINARY dir" ${PROJECT_BINARY_DIR})MESSAGE(STATUS "This is SOURCE dir" ${PROJECT_SOURC

2021-02-03 18:58:49 116 1

原创 Android CameraX based app

CameraX is an addition to Jetpack that makes it easier to add camera capabilities to your app. The library provides a number of compatibility fixes and workarounds to help make the developer experience consistent across many devices.API Referenceandroidx

2021-01-31 13:18:37 123

原创 android hostap start 流程

based on android10Android10版本(应该是从andorid9开始就是这样了)hostap start 关键是hostap.conf的生成。每次打开hostap, 都会自动生成confcode如下:external/wpa_supplicant_8/hostapd/hidl/1.2/hostapd.cpp531HostapdStatus Hostapd::addAccessPointInternal_1_2(532 const IfaceParams&amp

2020-08-04 19:06:44 1062

原创 android bluetooth enable 流程

based on Android 11/system/bt/btif/src/bluetooth.cc170static int enable() {171 if (!interface_ready()) return BT_STATUS_NOT_READY;172173 stack_manager_get_interface()->start_up_stack_async();174 return BT_STATUS_SUCCESS;175}system/bt/bti

2020-08-03 14:27:25 1284

原创 WLAN信道列表

WLAN信道列表是法律所规定的IEEE 802.11(或称为WiFi)无线网络应该使用的无线信道。802.11工作组划分了两个独立的频段,2.4 GHz和4.9/5.8 GHz。每个频段又划分为若干信道,且每个国家自己制定政策订出如何使用这些频段。2.4 GHz (802.11b/g)信道 频率 (MHz) 中国[1] 美国、 加拿大[1] 欧洲[1][2][3] 日本[1] 澳大利亚[4] 委内端拉 以色列 1 241.

2020-07-28 17:12:50 975

原创 silver searcher ag 命令文档

安装#the silver searcher 在各大平台上都可以从软件库直接安装。除了 Debian/Ubuntu 外,其他系统使用的包名都是一样的。sudo apt-get install silversearcher-ag 常用命令#使用语法:ag [options] pattern [path ...] ag [可选项] 匹配模式 [路径...] 由于模式可以是一个正则表达式,使得搜索功能极为强大。下面介绍一些常用的场景:ag -A 3 "string-to..

2020-07-28 15:30:43 759

Fragment.zip kotlin 工程源码

fragment practise工程, viewbinding, kotlin

2021-07-20

Android AIDL1.zip 工程源码

AIDL学习 工程源码

2021-07-06

Android 系统结构与“刷机”.xmind

Android 系统结构与“刷机” 思维导图

2021-06-29

android netd xmind 思维导图

android netd 流程图 思维导图

2021-06-29

OpenCV4 build scripts

OpenCV4 build from source scripts on windows

2021-03-03

TI-德州仪器电池电量计单线协议HDQ应用

TI-德州仪器电池电量计单线协议HDQ应用

2012-04-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除