9 湖广午王

尚未进行身份认证

暂无相关简介

等级
TA的排名 7k+

STM32F103+RTT从零开始(三)—— S50门禁卡复制

近期因为各种原因,重新租了个房子住,小区外面有门禁系统,楼下也有个门禁系统。房东只给了一套门禁卡,而我家人也需要门禁卡,所以我就去小区物业那里补卡,结果小区物业那里只能补小区的门禁卡,楼下的门禁卡需要在另外个地方补。物业工作人员给说了下地方,我找了下没找到,又想起了我一年前买了个RFID模块和十几个空白门禁卡,还没开封。又正好时值国庆,空闲时间比较多,不如自己来复制吧。基础知识一两个月前,我写...

2019-10-06 13:17:46

Lua封装&C++实践(三)——Lua注册C++构造函数

一个std::tuple<int,float,std::string>这样的结构,如何传递给intcall(int,float,std::string)这样的函数作为参数?如何根据函数的指针,知道这个函数的参数列表?在后面,Lua注册C++,如果希望调用尽可能简单,可能需要这样的功能了(不需要也假装需要,这么好玩的东西,研究以下总是好的)。Lua注册C++类的接口对于Lua注...

2019-07-14 22:28:26

Lua封装&C++实践(二)—— C++调用Lua函数的封装

在上篇博客中,记录了Lua与C/C++的基本交互,但是如果按照那样来使用的话,实在太麻烦了,所以我们开始进行封装。本篇博客主要记录C++调用Lua函数的封装。封装目标C++调用Lua,复杂的地方主要在于需要去理解Lua的堆栈,函数、参数都需要依次加入堆栈,结果也需要从堆栈里面取,Lua支持返回多个值,取值就需要按照在堆栈中的顺序多次去取。实际上呢,我们需要的就是调用一个lua函数,返回函数执行...

2019-07-08 00:14:50

Lua封装&C++实践(一)——Lua和C/C++的基本交互

Lua是一个小巧的脚本语言,它本身就是作为嵌入脚本而设计的,在目前所有脚本引擎中,Lua的速度是最快的。而且它的解释器非常轻量,其解释器不过200k(不同版本可能略有差异)。Lua项目包含许多技术点,花些时间研究可以有不少收获,学到很多东西。包括与宿主语言的交互、内存管理、虚拟机实现、协程、闭包、异常捕获机制等等,后续有时间慢慢研究下。如题所示,本系列主要记录Lua封装相关笔记,主要是记录C...

2019-07-07 20:05:07

C++ 笔记 —— 实现一个环形阻塞队列

实现原理环形阻塞队列,顾名思义,首先,它是一个队列,然后,它应当是一个环形,并且它是会进行阻塞的。但是根据我们的常识,内存地址是用一个longlongint来存储的,我们存储的数据的地址无法绕成一个环,所以我们想要成环的话,需要我们自己去处理。如上图,相比环状实现的来说,数据在内存中的存储更接近线性实现那样。线性实现和环形实现中,我们都记录着队头、队尾。如果是一个内存中,数据可以存储为环...

2019-03-31 12:18:35

MVP变换矩阵推导及C++实现

在进行图像处理时,经常会用到矩阵,尤其在游戏中,基本都会存在一个Camera的概念,实际上,这个Camera一般就是矩阵或者是对矩阵的封装。一个4x4矩阵,可以将平移、旋转、缩放等变换操作包含在内。但是为了便于理解与控制,这个最终的矩阵,往往是由一系列便于理解的参数来运算得出的。而Model-View-Projection变换模型就是最常用,一般来说,我们并不比去实现它们,因为有太多的工具类可以直...

2019-01-13 01:53:24

C++ 笔记——字符串自定义加密处理

根据惯例,先放定义。加密,是以某种特殊的算法改变原有的信息数据,使得未授权的用户即使获得了已加密的信息,但因不知解密的方法,仍然无法了解信息的内容。加密算法非常多,常见的加密算法有MD5、AES、Base64、DES等等。但是此篇博客记录的加密算法和上述加密算法无关,主要记录的是按照个人喜好对字符串做处理的简单方法。字符串编码一段字符串,把所有的a变成c,把c变成d,把d变成a,我们可以把这...

2018-12-31 15:41:23

Ubuntu 18.04 + CUDA 9.2 + cuDNN 7.1.4 + Caffe2 安装

安装Ubuntu18.04Ubuntu18.04的安装参考官网步骤,很容易安装。我在安装的时候比较坎坷,拿到了一个有问题的U盘,写入ISO后,启动一直启动不了。主要步骤如下:1.下载系统。2.下载Rufus工具,也可以是其他的,只要能刻录光盘就行。然后把下载的UbuntuISO文件写入U盘。3.写好U盘后,查上电脑,选择从U盘启动。一般是开机按F12来选择启动方式。...

2018-06-30 23:38:15

面向对象的程序设计读书笔记

程序开发中面向对象的一些相关的读书笔记。面向对象概念相关面向对象的三大特性:继承、封装和多态。继承,共性放到父类,特性放到子类。封装,对象有一个明确的边界,声明公开,实现隐藏,实现的更改,对对象的使用没有影响。多态,子类的对象可以放到父类的引用中,子类的方法可以覆盖父类的公有非final、或者protected方法。方法可以同名重载。每个对象都包含它能进行操作所需要的所有信息,这个特性称为封装,因

2017-10-17 23:33:02

音视频及FFMpeg概念篇

音视频编解码概念音视频格式有很多种,我们所熟知的音频文件有wav、mp3等,视频格式有mp4、3gp、rmvb、avi、mov等等。这些格式并不是只是文件的后缀不同,而是文件中的内容有很大的不同,哪怕这个媒体文件播放起来我们看起来觉得它们是一模一样的。另外,我们看到的电影或者视频片段,它往往是由两个或者两个以上的流组成的,比如声音流、视频流、字幕等。甚至声音也有左声道、右声道什么的。那么这

2017-10-06 22:53:36

Android Camera增加自定义图像处理并录制MP4

在我的一篇博客AndroidCameraAPI/Camera2API相机预览及滤镜、贴纸等处理中,介绍了如何给相机增加滤镜贴纸的方法,也就是自定义图像处理。而另外一篇博客Android硬编码——音频编码、视频编码及音视频混合介绍了一种编码录制MP4的方法,虽然两者结合就能实现Camera增加自定义图像处理并录制MP4的功能,但是实际上如果自定义的处理稍微复杂一些,或者录制720p或者1080

2017-10-03 14:19:28

Android利用硬解硬编和OpenGLES来高效的处理MP4视频

最近工作中遇到一个问题,就是要对视频增加视频特效,实现类似于抖音的效果,抖音的效果由其他同事实现,我的工作重心在视频的处理,特效的集成。按照之前的思路很快就实现了这个功能,但是实际应用到项目中时却遇到各种问题。于是就有了这篇博客。遇到的问题说是各种问题,特效方便的不管,我所遇到的视频处理的问题主要为以下两个方面:处理过程耗时较长。因为处理的时候是按照之前的思路,用MediaCod

2017-09-10 20:16:12

STM32F103+RTT从零开始(二)——RTT系统中点亮LED

上一篇博客简单说了下如何使用Keil创建STM32F103的工程,并且完成了LED点亮,及让LED等闪烁的功能,那是诸多同学学习单片机的起手式。本篇博客继续上一篇博客的内容,依旧是点亮LED,不同的是,这次点亮LED等,是在RT-Thread操作系统中进行的。创建工程创建一个Keil工程,芯片依旧选择STM32F103C8T6,然后在ManageRun-TimeEnvironment对话框中选择

2017-08-27 01:53:32

STM32F103+RTT从零开始(一)——点亮LED

最近心血来潮,打算重新捡起老本行,结果发现很多都忘记了。干脆重新开始学习,并做个从零开始的笔记了。STM32系列MCUSTM32系列芯片包括F0/F1/F2/F3/F4/F7/L0/L1/L4/H7等系列芯片芯片。不同系列的芯片适用于不同的应用场景。F0/L0基于ARMCortex®-M0,F1/F2/L1系列基于ARMCortex®-M3,F3/F4/L4系列基于ARMCortex®-M

2017-08-22 23:42:35

用树莓派改装电风扇及实现Android遥控

最近天气很热,我租的房子又没有空调,基本上风扇一开就是一晚上,结果经常起床后发现口干舌燥的。我觉得这肯定是因为整晚吹风扇搞的,不管是不是,反正我觉得就是了。不开风扇吧,热!开风扇吧,早上起来不舒服,怎么办呢?能不能让风扇吹一会停一会这样的吹呢?让手机来当遥控器来控制风扇?加上语音控制?我看了下我那吃灰半年多的树莓派,觉得应该让它动一动了。硬件准备首先,电扇是必须的,树莓派吃灰了半年,也该工作工作了。

2017-08-06 22:57:29

Android OpenGLES2.0(十八)——轻松搞定Blend颜色混合

Blend是OpenGL中的一个非常重要的部分,它可以让每个输出的源和目的颜色以多种方式组合在一起,以呈现出不同的效果,满足不同的需求。

2017-08-03 10:37:43

RGBA、YUV色彩格式及libyuv的使用

最近一段时间因为工作的需要,要使用到libyuv。因为之前写录制视频的时候,也要用到rgb转yuv,自己结合网上的资料做了个实现,记录了点笔记,现在索性一起整理下。常用的色彩格式常见的色彩格式主要分为两类,一类是RGBA系列,一类是YUV系列。RGBA系列首先就是rgba系列的格式,RGBA色彩主要用于色彩的显示和描述。常见的有RGBA/ARGB/BGRA/ABGR/RGB/BGR。这些格式都比较好

2017-07-29 20:53:47

AI:一个全新的时代

时间进入1956年,达特茅斯夏季会议召开,人工智能的概念正式被确定下来。至今,它已经有六十多岁了,几经起伏,却依然非常年轻,正在不断的蓬勃发展着。  以前以为人工智能就是《宝莱坞机器人之恋》的七弟、就是《机器人总动员》的瓦力和伊娃,就像小时候,总以为程序员就是在命令行模式下霹雳啪啦敲一敲,三分钟就能入侵飞机入侵汽车一样。后来上大学开始接触编程,才终于知道想象和现实的差距,却依旧为自己能写程序,控制电

2017-07-27 22:51:01

让IjkPlayer支持插入自定义的GPU滤镜

最近因为工作的原因,需要提供一个将我们的AiyaEffectsSDK插入到IjkPlayer中的示例,就不得不好好看了下IjkPlayer的代码。在IjkPlayer中并没有提供设置自定义GPU滤镜的接口,所以最后只能自己动手,以求丰衣足食了。不得不说,Bilibili开源的这个IjkPlayer播放器的确非常强大,代码设计的非常清晰,仔细看看,能学到不少东西。IjkPlayer源码获取及编译方法源

2017-07-15 15:58:33

打油诗——和代码的青春七年

车马停啸禁鸣笛,惊觉高考正当期。遥记七载前尘里,朝朝起舞在闻鸡。寒窗苦读五千日,无谓旰食又宵衣。常叹双亲辛劳苦,学富五车累何惜。命途波澜起二度,百万同台争高低。汗流浃背心忐忑,唯恐临考遇宕机。有幸求学进江理,辞别湖广入江西。军训完毕见教授,始信至此上大一。初识编程坠云雾,雾里看花亦着迷。程序惊艳贪吃蛇,项目驱动五子棋。白日尽归实验室,夜来关门入微机。三周入门C语言,月旬画虎会画皮

2017-06-25 15:09:27

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。