自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(130)
  • 资源 (8)
  • 收藏
  • 关注

原创 skui学习笔记(五)IMX8平台移植 下篇

三、IMX8平台skia修改更新skia库更新源码的skia库,从m66升级到skui使用的m75版本git fetch aosp --tagsgit checkout android-10.0.0_r1cat cat include/core/SkMilestone.h结果如下:/* * Copyright 2016 Google Inc. * * Use of this source code is governed by a BSD-style license that can

2020-09-29 16:02:18 609

原创 skui学习笔记(四)IMX8平台移植 中篇

二、修改源码上篇是cmake改动介绍,本篇讲述源码改动core模块移植core模块里面的代码涉及基本功能,包括信号,属性,字符串,路径,应用程序,操作系统抽象,不受平台影响。gui模块移植添加gui/native_visual/imx.h++、gui/native_visual/imx.c++支持imx平台EGL初始化//gui/native_visual/imx.h++namespace skui::gui::native_visual { class imx : public b

2020-09-27 20:00:40 479

原创 skui学习笔记(三)IMX8平台移植 上篇

移植环境使用的skui git分支:commit 201707d06bd29c9ec4b05350b25b777493d5362e (origin/master, origin/HEAD)Author: Ruben Van Boxem <[email protected]>Date: Tue Sep 1 17:43:19 2020 +0200编译平台:Ubuntu18目标平台:NXP IMX8Q Android9开始移植一、修改CMakeLists.txts

2020-09-27 18:22:15 829

原创 Android.mk语法学习

Makefile 中:= ?= += =的区别:= 是最基本的赋值 (变量的值将会是整个makefile中最后被指定的值):= 是覆盖之前的值 (变量的值决定于它在makefile中的顺序,而不是整个makefile展开后的最终值)?= 是如果没有被赋值过就赋予等号后面的值+= 是添加等号后面的值Android.mk常用的变量变量名参数功能LOCAL_INIT_R...

2020-04-10 14:03:41 377

原创 Android VTS学习

一、编译环境准备推荐的系统环境64-bit Ubuntu LinuxJava 8Python 2.7ADB 1.0.39安装依赖的软件包sudo apt install python-dev python-protobuf protobuf-compiler python-virtualenv python-pip打开设备adbsudo adb devices二、开始编...

2020-04-08 09:26:06 988

原创 Android bootanimation学习

一、bootanimation启动和结束bootanimation的启动和结束受surfaceflinger控制bootanimation进程启动在android/frameworks/native/services/surfaceflinger/StartPropertySetThread.cppbool StartPropertySetThread::threadLoop() { ...

2020-04-03 10:15:46 1089

原创 skui学习笔记(二)模块分析

四、模块分析skui分为几个模块:# skui itselfadd_subdirectory(core)add_subdirectory(css)add_subdirectory(graphics)add_subdirectory(gui)add_subdirectory(opengl)add_subdirectory(system)目前example里面例程用到的只有core...

2019-12-10 15:56:00 914

原创 skui学习笔记(一)入门使用

一、skui简介使用Skia作为低级绘图工具包的UI框架。它使用C ++标准库的最新功能(当前针对C ++ 17)。目前这个仓库处于开发阶段,功能还不稳定。该仓库的源代码在github上(https://github.com/skui-org/skui),作者是Ruben Van Boxem,遵循MIT开源协议。这里不得不先介绍一下skia。Skia是一个开源2D图形库,它提供可在各种硬件和软...

2019-12-09 19:15:30 3719

转载 正则表达式元字符列表

下表包含了元字符的完整列表以及它们在正则表达式上下文中的行为: 字符 描述 \ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。例如,'n' 匹配字符 "n"。'\n' 匹配一个换行符。序列 '\\' 匹配 "\" 而 "\(" 则匹配 "("。 ^ 匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multili...

2019-12-05 14:49:44 132

转载 exec系列函数(execl,execlp,execle,execv,execvp)使用

本节目标:exec替换进程映像exec关联函数组(execl、execlp、execle、execv、execvp)一,exec替换进程映像在进程的创建上Unix采用了一个独特的方法,它将进程创建与加载一个新进程映象分离。这样的好处是有更多的余地对两种操作进行管理。当我们创建了一个进程之后,通常将子进程替换成新的进程映象,这可以用exec系列的函数来进行。当然,exec系列的函数也可以...

2019-08-15 13:21:54 372

转载 Android OMX介绍(总括)

一、OpenMax简介(缩写为:OMX)    OpenMAX是一个多媒体应用程序的标准。由NVIDIA公司和Khronos™在2006年推出。    它是无授权费的、跨平台的C语言程序接口序列,这些接口对音频、视频、静态图片的常用操作进行封装。    它包括三层,分别是...

2019-08-09 10:46:06 1565

转载 speech codec (G.711, G.723, G.726, G.729, iLBC)

各种各样的编解码在各种领域得到广泛的应用,下面就把各种codec的压缩率进行一下比较,不正确之处望各位同行指正。Speech codec:    现主要有的speech codec 有: G.711, G.723, G.726 , G.729, ILBC      &nbs...

2019-08-09 10:15:37 294

原创 opencv绘制灰阶图

最近需要绘制灰阶图,写了一个opencv绘制灰阶图的函数cv::Mat MakeColorMap(int bkgWidth, int bkgHeight, int mapNum, char *savePath) { if (savePath == NULL) { char *defaultPath = (char *) "/data/colorMap.png"; ...

2019-08-08 19:35:26 2647

转载 Linux下通过sysfs方式控制GPIO(/sys/class/gpio)

转自https://blog.csdn.net/qq_37858386/article/details/85343380             Linux下通过sysfs方式控制GPIO(/sys/class/gpio)一、首先,查看系统中有没有“/sys/class/gpio”这个文件夹,如果没有就在编译内核的时候勾选 ...

2019-06-24 19:43:28 738

转载 Linux环境中动态库文件(.so文件)的realname,soname和linkname

转自https://blog.csdn.net/mst9009/article/details/80839252 realname:实际等同于库文件的filename,是在库文件生成时就被指定的,如:gcc -shared -o $(realname) dependence flagsrealname的一般格式为 lib$(name).so.$(major).$(mino...

2019-05-24 10:06:26 446

转载 shader三种变量类型(uniform,attribute和varying)

uniform变量在vertex和fragment两者之间声明方式完全一样,则它可以在vertex和fragment共享使用。(相当于一个被vertex和fragment shader共享的全局变量)uniform变量一般用来表示:变换矩阵,材质,光照参数和颜色等信息。以下是例子:uniform mat4 viewProjMatrix; //投影+视图矩阵uniform mat4 view...

2019-03-04 15:42:36 319

原创 使用cmake生成.so动态库

CMakeLists.txt内容如下:#cmake for GLTranslationset(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/build/out)aux_source_directory(module/GLTranslation GLTRANSLAYION_SOURCE_FILES)add_library(GLT...

2019-02-01 20:29:10 15595 1

原创 用skia实现2D绘制

skia是谷歌的一个开源2D引擎,用来实现利用CPU实现2D图形绘制。下面是老朽写的一个例程,实现功能如下:1.窗口的创建2.图片解码3.在窗口的任意位置绘制指定大小和透明度的图片4.绘制文字因为对OpenGL熟悉,所以不怎么喜欢用SDL,而是采用OpenGL创建绘制窗口。先由glfw创建窗口,然后skia负责渲染,最后opengl只负责将skia传过来的pixel画出来。main函...

2019-01-16 19:45:58 8675

转载 ubuntu 16.04L解压zip文件出现乱码

通过unzip行命令解压,指定字符集unzip -O CP936 xxx.zip

2019-01-03 18:04:02 253

转载 linux select函数详解

原文地址 http://blog.csdn.net/lingfengtengfei/article/details/12392449在Linux中,我们可以使用select函数实现I/O端口的复用,传递给 select函数的参数会告诉内核:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; •我们所关心的文件描述符&nb...

2018-12-20 21:03:09 153

转载 YUV格式详解

转自https://www.cnblogs.com/ALittleDust/p/5935983.html工作中经常会使用一些颜色空间,最主要的就是使用RGB空间和YUV空间,把两空间的一些知识记录在此。什么是RGB?RGB是红绿蓝三原色的意思,R=Red、G=Green、B=Blue。2.什么是YUV/YCbCr/YPbPr?亮度信号经常被称作Y,色度信号是由两个互相独立的信号组成。视...

2018-12-04 15:51:39 185

转载 V4L2资料

V4L2资料https://work-blog.readthedocs.io/en/latest/v4l2 intro.html

2018-11-27 10:59:07 239

转载 容器中的成员函数swap

容器中的成员函数swap在容器vector中,其内存占用的空间是只增不减的,比如说首先分配了10,000个字节,然后erase掉后面9,999个,则虽然有效元素只有一个,但是内存占用仍为10,000个。所有内存空间在vector析构时回收。一般,我们都会通过vector中成员函数clear进行一些清除操作,但它清除的是所有的元素,使vector的大小减少至0,却不能减小vector占用的内存。...

2018-11-09 14:49:15 314

原创 OpenGL使用精灵图集

使用OpenGL绘制开机动画,fps33,使用精灵图集使用OpenCV载入纹理。运行环境ubuntu16,废话不多说,上源码。主程序main.cpp//// Created by czh on 18-9-10.//#include &amp;amp;lt;glad/glad.h&amp;amp;gt;#include &amp;amp;lt;GLFW/glfw3.h&amp;amp;gt;#include &amp;quot

2018-10-30 17:14:05 641

原创 OpenGL纹理倾斜扭曲问题

在用openGL绘制某些纹理的时候,图片会发生不可描述的倾斜。原图:画出来是这样的:这个问题查出来了,OpenGL要求所有的纹理都是4字节对齐的,即纹理的大小永远是4字节的倍数。通常这并不会出现什么问题,因为大部分纹理的宽度都为4的倍数并/或每像素使用4个字节。但是这个图片是jpg并且宽高不是4的倍数,所以出现了问题。通过将纹理解压对齐参数设为1,这样才能确保不会有对齐问题。使用这个接口g...

2018-10-25 10:36:04 3555 7

原创 OpenCV相机标定全过程

findChessboardCorners() 棋盘格角点检测bool findChessboardCorners( InputArray image, Size patternSize, OutputArray corners, int flags = CALIB_CB_ADAPTIVE_THRESH + ...

2018-10-22 15:19:02 46751 15

原创 OpenCV以及EGL环境配置

安装OpenCV(转自https://blog.csdn.net/cocoaqin/article/details/78163171)1.去官网下载opencv,在本教程中选用的时opencv3.4.1,其他版本的配置方法异曲同工。下载链接http://opencv.org/releases.html,选择sources版本2.解压下载下来的zip包unzip opencv-3.4.1....

2018-10-15 10:39:45 1849

原创 在NXP I.MX6上做一个基于Opencv和OpenGL的打砖块游戏

最近一直想搞一个网站,一直偷懒233最近一直在研究OpenGL,顺便搞了一个小游戏玩玩。话不多说上图:就是用下面一个板接住弹来弹去的小球,直到把所有砖块都撞碎主程序主要是开辟一个新线程然后后台监听DBus信号,这个游戏监听汽车上的转盘和按钮发送的DBus信号实现操控。新线程以每秒大约30帧刷新界面。command这个类是用来实现转盘和按钮DBus监听。/*****************...

2018-10-10 18:12:49 636

转载 如何快速搭建自己的github.io博客

闲聊一下 在这知识剧烈膨胀的时代,如何记录、整理、分享自己的所学所感无疑显得十分重要,而博客便是最好的方式之一。现在已经有了各式各样的博客平台,有基于第三方的平台的(如博客园等),也有自己搭建的(如基于Ghost等,当然,也有很多干脆自己动手DIY了)。总之,博客的世界已然丰富多彩,留给咱们更多的不是有没有,而是哪个好。这里咱不讨论博客哪家强的问题,只推荐一款博主觉得不错的选择:github.i...

2018-09-07 09:06:35 2292

转载 四种强制类型转换的总结(const_cast、static_cast、dynamic_cast、reinterpreter_cast)

C风格的强制类型转换(Type Cast)很简单,不管什么类型的转换统统是:  TYPE b = (TYPE)a  C++风格的类型转换提供了4种类型转换操作符来应对不同场合的应用。   const_cast,字面上理解就是去const属性。  static_cast,命名上理解是静态类型转换。如int转换成char。  dynamic_cast,命名上理解是动态类型转换。如子类...

2018-09-06 21:10:11 206

原创 面向对象的三大特征和五大原则

面向对象的三大特性1.封装封装机制将数据和代码捆绑到一起,避免了外界的干扰和不确定性。它同样允许创建对象。简单的说,一个对象就是一个封装了数据和操作这些数据的代码的逻辑实体。 在一个对象内部,某些代码和(或)某些数据可以是私有的,不能被外界访问。通过这种方式,对象对内部数据提供了不同级别的保护,以防止程序中无关的部分意外的改变或错误的使用了对象的私有部分。2.继承继承是可...

2018-09-06 10:41:23 160

转载 骆驼式命名法

骆驼式命名法就是当变量名或函数名是由一个或多个单词连结在一起,而构成的唯一识别字时,第一个单词以小写字母开始;从第二个单词开始以后的每个单词的首字母都采用大写字母,例如:myFirstName、myLastName,这样的变量名看上去就像骆驼峰一样此起彼伏,故得名。 骆驼式命名法(Camel-Case)一词来自 Perl 语言中普遍使用的大小写混合格式,而 Larry Wall 等人所著的畅销书...

2018-09-04 10:15:29 569

原创 遍历扫描文件实现图片转码

windows图片转码程序#include &amp;amp;amp;amp;quot;stdafx.h&amp;amp;amp;amp;quot;#include &amp;amp;amp;amp;amp;lt;Windows.h&amp;amp;amp;amp;amp;gt;#include &amp;amp;amp;amp;amp;lt;iostream&amp;amp;amp;amp;amp;gt;#include &amp;amp

2018-09-03 22:36:24 287

原创 linux截屏程序

利用opencv从frambuffer读取桌面图片,实现截屏,并保存为png32格式图片.//// Created by czh on 18-9-3.//#include &amp;lt;unistd.h&amp;gt;#include &amp;lt;sys/stat.h&amp;gt;#include &amp;lt;fcntl.h&amp;gt;#include &amp;lt;sys/ioctl.h&amp;gt;#i

2018-09-03 22:31:15 815

原创 最近CSDN体验变差了

首先是排名数据大概有一个月没有刷新了 其次是右下角的亮闪闪…

2018-08-28 14:52:46 1751

原创 使用OpenCV进行图片转码

将RGBA格式的png图片转为RGB格式,即32位png图片转为24位,通道数量由4通道变为3通道 下面是程序源码:#include &lt;iostream&gt;#include &lt;stdio.h&gt;#include &lt;opencv2/core/core.hpp&gt;#include &lt;opencv2/opencv.hpp&gt;#include &l...

2018-08-23 20:33:44 1011

原创 OpenCV 学习资料

学习OpenCV2——Mat之通道的理解 https://www.cnblogs.com/SuMeng/p/8371026.html

2018-08-23 20:29:47 182

转载 CMake交叉编译

CMake的使用,以及如何将一个项目移植到Android。CMake的用法先让我们简单学习回顾一下cmake的基本知识:基本流程以linux平台为例,使用 CMake 生成 Makefile 并编译的流程如下:编写 CMake 配置文件 CMakeLists.txt 。 执行命令 cmake Path-to-Cmakelist/CMakeLists.txt 生成 Makefi...

2018-08-20 17:38:44 1201

转载 epoll机制:epoll_create、epoll_ctl、epoll_wait、close

在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,linux/posix_types.h头文件有这样的声明:#define__FD_SE...

2018-08-14 17:59:30 448

转载 linux学习笔记之FrameBuffer的原理

linux学习笔记之FrameBuffer的原理一、FrameBuffer的原理FrameBuffer 是出现在 2.2.xx 内核当中的一种驱动程序接口。 Linux是工作在保护模式下,所以用户态进程是无法象DOS那样使用显卡BIOS里提供的中断调用来实现直接写屏,Linux抽象出FrameBuffer这 个设备来供用户态进程实现直接写屏。Framebuffer机制模仿显卡的功能,将...

2018-08-14 10:47:28 336

OpenGL入门编程源码

包含例程: OpenGL新建窗口; 绘制三角形; 着色器、着色器类; 底纹、底纹叠加; 图片缩放、移动、旋转; 绘制正方体; 摄像机;

2018-08-08

QtDbus资料集合

QtDbus详细的中文使用文档; QtDbus的signal通讯例程; QtDbus的method通讯例程; QtDbus的xml编程例程; 以上打包集合!!!

2018-08-08

实验室智能管理系统

实验室智能管理系统,以实验室为平台,通过网络化智能控制与管理,集成了监控管理、安全防盗、资源分配功能,将实验室环境数据、照明以及实验室安保、门禁装置通过有线或无线的方式连接起来,构建成高效的实验室仪器设施和日程事务的管理系统。 系统主要由各个功能模块、ARM网关、ZigBee无线局域网、PC机、远程监控软件组成。ARM网关的作用就是和ZigBee协调器通信,通过触屏实现近程控制并通过网线将数据传送给远程PC,由远程PC实现远程监控功能,从而实现进程和远程的双重管理。ZigBee协调器和ARM网关通过RS232串口通信。ZigBee协调器担任着组建网络的作用,将ZigBee终端节点加入网络,并采集各个终端发送过来的数据,发送给ARM网关。

2018-06-04

Zigbee智能家居模块

zigbee模块 自制Zigbee智能家居模块,附模块PCB和源码,实现路由器和协调器温湿度接收和RGB灯光控制 采用E18-MS1-PCBCC2530射频芯片+TP4056锂电池充电芯片,可以加上锂电池做成模块

2018-06-04

51单片机程序打包

51单片机 lcd1602、lcd12864、DHT11、DS12C887时钟模块、GSM模块、NRF24l01、按键、DS18B20、家庭气体检测仪、数码管程序打包

2018-06-04

Linux C程序

Linux C: 计算器:一个简单的计算器小程序,实现加减乘除四则运算,可以使用括号。 聊天室:C/S架构的一个命令行聊天室程序 停车场:一个停车场管理小程序 通讯录:一个通讯录管理小程序

2018-06-04

回溯法解决N皇后问题(以四皇后为例)

以4皇后为例,其他的N皇后问题以此类推。所谓4皇后问题就是求解如何在4×4的棋盘上无冲突的摆放4个皇后棋子。在国际象棋中,皇后的移动方式为横竖交叉的,因此在任意一个皇后所在位置的水平、竖直、以及45度斜线上都不能出现皇后的棋子

2017-04-05

QT设计之银行管理系统

用QT设计一个银行管理系统 用到QT自带的数据库和Tcp网络协议和文件流等

2017-04-01

空空如也

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

TA关注的人

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