自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Blog of Chauncy Wang

Steel waters run deep.

  • 博客(38)
  • 资源 (2)
  • 收藏
  • 关注

原创 OpenGL ES 学习:渲染单通道图像

OpenGL ES 渲染单通道图像使用 TOF 相机获取深度图一般获取到的深度图是 16 bit 单通道,有时为了方便查看深度图是否正确,需要渲染改单通道图像。下面简单的介绍几个渲染单通道图像的注意事项:首先,需要将 16 bit 的深度图转为换 8 bit 深度图,部分代码如下:typedef struct _tag_image_info { int width; int height; int format; int pitch[4]; unsigned char* data[4];

2021-01-07 19:17:32 1292 2

原创 常用 git 操作笔记

文章目录git 笔记git 重要知识点git 配置.git foldergit HEAD1 git HEAD2 恢复暂存区为HEAD状态3 恢复工作区为暂存区状态4 清空工作区git commit1 提交2 修改上次/某次commit的message3 合并连续的几次commmit4 合并不连续的几次commit5 消除最近几次commitgit loggit diff1 查看暂存区和HEAD的差异2 查看暂存区和工作区的差异3 查看两个分支/commit之间的差异git taggit stashgit b

2020-12-21 22:43:08 470

原创 OpenGL ES 学习:踩坑记录

文章目录OpenGLES 踩坑记录常见问题1. GL_ELEMENT_ARRAY_BUFFER 的正确绑定2. 加载顶点数据前确保绑定了 VBO3. sizeof() 计算顶点数组大小4. 使用 glGetAttribLocation 获取输入变量 location5. glDrawArrays() 或 glDrawElements() crash6. FBO 中 glClear() 使用时机调试GL 和 EGL 状态检查OpenGLES 踩坑记录OpenGL 可以理解为一个状态机管理程序,在效果异常时

2020-12-21 13:42:22 1438 1

原创 OpenGL ES 学习:PBO 使用

PBO 加速原理和使用方法简介

2020-12-10 21:13:20 2723 1

原创 Android NDK JNI开发知识笔记

文章目录Android NDK JNI开发知识笔记JNI Java层与C层数据传输C层获取Java层数据成员变量获取静态变量获取SampleC层调用Java层方法C层传数据到Java层参考阅读Android NDK JNI开发知识笔记本片文章主要记录自己在做Native开发过程中接触到的知识。JNI Java层与C层数据传输C层获取Java层数据成员变量获取将类数据从C层传到Java层主要通过以下几个步骤:使用GetObjectClass函数获取Java类的jclass指针利用GetFie

2020-11-04 20:51:07 508

原创 C/C++ const关键字知识笔记

C/C++ const关键字知识笔记文章目录C/C++ const关键字知识笔记const修饰变量const与引用const与指针const修饰函数const作为C/C++的一个关键字,用于修饰一个变量,表明该变量是一个常量,不可修改。const修饰变量const与引用int a = 0;const int b = a; //正确,const变量b赋值为a,且存在值拷贝过程const int &c = a; //错误,使用&,c即为a,a改变c即改变,单c为const修饰,

2020-10-09 20:34:16 132

原创 C_C++易错点记录

文章目录易错点记录指针相关指针的指针释放指针内存重复释放C++类相关问题头文件类成员函数定义在类外类静态变量定义易错点记录指针相关指针的指针释放#include <iostream>#include <stdlib.h>#include <string>#include <stdio.h>void init (void **pp) { *pp = malloc (100);}void uninit (void **pp) {

2020-10-09 20:30:55 301

原创 SVN操作记录——merge/修改文件夹名/删除commit文件夹

SVN的一些操作记录,仅供参考欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢...

2019-03-31 19:06:03 2263

原创 undefined reference to ‘vtable for std::length_error‘ 问题分析

博主最近在使用NDK编译动态库时碰到一个特别奇怪的问题,我们需要调用同事给的静态库然后编译动态库,之前一直mk文件什么都是配置好了,一直也没有什么问题,在同事更新了一个库之后没有成功生成动态库,编译信息如下:/buildbot/src/android/ndk-release-r17/external/libcxx/include/stdexcept:0: error: undefined re...

2019-03-18 12:13:14 4130

原创 Android开发在C层读取资源文件的两种方式

获取资源文件Android应用往往会有很多资源文件需要使用,这些资源文件一般会放在assets目录编进apk中,当apk中使用了so库的时候,由于编进apk的资源文件没有固定的目录,因此不能在C层通过设置路径的方式读取;这里提供两种C层读取资源文件的方式,仅供参考。1、C层获取AAssetManager指针JNI作为C和Java的桥梁可以完成许多工作,因此第一种方法可以通过Java层向C层传...

2019-01-12 21:01:23 3152 1

原创 Linux下使用adb命令的一些坑

Linux下使用adb命令的一个问题记录Linux adb采坑记录Linux安装Linux下adb命令使用Vim编辑器退出小结Linux adb采坑记录笔者最近接到一个很easy的任务,需要在Linux环境下连接手机,跑一个脚本,听起来十分的容易,但是忙忙碌碌也是折腾了一天。因此,特地记下一些中途可能踩到的坑,给自己一个提醒。Linux安装我们都知道Android内核其实是Linux,因此...

2018-12-10 21:49:01 15779 4

原创 获取Android 设备信息——build.prop

使用Android设备信息作为控制相关变量获取Android设备相关信息build.prop文件adb获取设备信息Android Jni编程C层获取设备信息获取Android设备相关信息在Android开发中有时需要获取设备信息,一般可以通过ADB命令来获取设备build.prop文件中记录的设备信息,有时也需要在代码中获取这些信息,如下介绍两种可以使用的方法,获取设备相关信息。build....

2018-12-04 21:55:27 3442

原创 No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android问题解决

在使用Android Studio导入项目时,如果项目使用了NDK编程,有时会出现这样的错误:No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android,这个错误一般是出现在3.2版本的AS上,这是因为AS 3.2默认使用NDK18来编译C代码,而NDK18中将mips64...

2018-10-24 22:55:19 538

原创 Android NDK error: undefined reference to 'log2'问题分析解决

在使用NDK进行JNI开发时,在静态库中使用了log2函数,然后在Android编译的时候报了这个个错误:error: undefined reference to ‘log2’;首先,google上走一番,基本可以确定这个问题是因为编译时链接不到’log2’这个函数所在的库而引起的,所以接下来就在从这个方向开始查。 PS:开发环境Eclipse+NDK17由于log2这是数学函数,所以需要...

2018-08-29 20:30:27 3895

原创 在Android Studio自己的项目中使用GitHub开源库

很早就知道在GitHub上有很多优秀的Android开源库,这两天在AS上配置了Git,然后尝试在GitHub上导了一个开源库到自己的项目中,结果特别酷炫,有一种发现新大陆的感觉。当然,过程难免会碰到一些问题,在这里和各位看官分享一下,希望能够帮到正在查阅相关问题的你。首先,在GitHub上找到你需要使用的开源库,然后将这个项目下载下来,例如我要使用这个开源库https://github.co...

2018-08-16 21:18:05 4049 5

原创 C++读写txt文件记录

为什么记下这段程序呢,因为这个程序我经常会用到,但每次写完总忘记,结果还得再网上找相关代码,所以不如在这里记录一下,以后可以直接在这里来取。#include &amp;lt;stdio.h&amp;gt;#include &amp;lt;File.h&amp;gt;int main(){ //写数据 FILE *fpWrite=fopen(&quot;data.txt&quot;,&quot;w&quot;);

2018-08-16 20:59:48 880

原创 查看动态库.so中依赖库

最近因升级Android P需要去除编译出来的动态库中的libstdc++.so和libandroid.so的依赖,在进行验证是否去除相关库依赖时可以采用如下方法:1、使用readelf命令 在控制台使用命令readelf -d后面加上需要验证的动态库就可以看是否有去除了libstdc++.so和libandroid.so的依赖;readelf命令详情可见:https://blog....

2018-08-16 20:51:40 7711

原创 白话Android自定义ListView实现

Android ListView大概算是Android中最常用也是最难用的一个控件,老实说之前这个控件的用法着实让我别扭了一阵子,要知道看程序能懂,但离了书之后发现就是写不出来的感觉真是相当失落。好在,现在终于能够自己写出来的,所以在这里记录一下我写自定义ListView的过程,提供一个思路,希望能够帮助到一些初学者。真问主要分三个部分来介绍自定义ListView:基本的ListView...

2018-06-26 20:49:27 18243 3

原创 Android NDK编程中Application.mk和Android.mk写法

在Android编程中NDK编程是十分重要的一个部分, 利用NDK可以在很大程度上提高效率。由于,Android使用java语言,有时需要用C/C++语言完成一些耗时的工作,这就可以有NDK来完成。NDK编程中最重要的是要写好Makefile文件,这个文件说明了利用C/C++写的程序如何被编译为Android可用的so包。接下来我们就谈一谈Makefile文件的两个重要部分:Application...

2018-06-17 17:57:18 5451

原创 Android自定义AlertDialog实现

本文主要介绍AlertDialog的基本知识,以及使用自定义AlertDialog实现用户登录UI的程序。本文内容主要份分为以下几个部分:AlertDialog介绍自定义AlertDialog实现用户登录UIAlertDialog介绍Android对话框是提示用户作出决定或输入额外信息的小窗口。 对话框不会填充屏幕,通常用于需要用户采取行动才能继续执行的模式事件。Dial...

2018-06-14 23:17:59 5884 1

原创 C++指针知识记录

C++中指针的运用十分频繁,且极其容易出错,一旦出现引用空指针或指针未释放都可能引起程序的bug。其中,指针的指针这一概念更是不好理解,在这里记录一下指针一些问题的测试,便于将来查阅。测试1测试2测试1首先,定义一个结构体:typedef struct _TEST_Y_{ int c; int a; string b;}TEST, *PTEST;...

2018-05-30 21:29:16 304

原创 TortoiseSVN出现Cleanup failed to process the following paths的解决办法

TortoiseSVN是一种集中式的版本控制器,在项目管理中经常使用;但是,在用TortoiseSVN的使用中有时会出现Check out错误的问题,根据提示进行clean up操作,会出现Cleanup failed to process the following paths的弹窗错误,出错的原因主要是上一次的操作还没有完成时点击了cancel,然后进行下次操作时就容易出现冲突,以下是解决...

2018-05-05 18:59:44 3824 1

原创 Android复制并生成新项目

有时需要对已有Android项目进行简单的修改,但是又希望在修改之后不破坏之前的项目,往往会想项目复制一份(暂不使用版本控制器)。此时,如果仅仅只是修改项目中的功能语句的话,在运行后新的程序始终会将原来的项目程序覆盖,这里就是一个简单的方法,使得两个项目安装不同的APP(IDE: Android Studio):修改build.gradle中的id,即 applicationId “co...

2018-05-02 18:52:30 1001

原创 C++将txt中的数据读入程序中

这个虽然不难,但自己总是忘记,每次想找到自己想要的又比较麻烦,所以干脆自己记录下来,以后需要用的话就方便多了!其实就是用到一个文件流,类似于cin和cout,使用cin将数据输入内存,使用cout将数据输出到显示屏一个道理,一旦建立一个文件流,也可以像这样将数据输入输出,所以简短程序如下:#include &lt;ifstream&gt;int _tmain(int argc, _TC...

2018-04-20 19:16:35 3068

原创 使用Android Studio开发NDK程序时出现couldn't find "lib××××.so的问题

NDK编程是Android开发的一项重要技能,利用JNI编程可以将许多复杂的处理过程用C/C++来进行,从而提高效率!不了解JNI的同学可以先看看这里 https://blog.csdn.net/cgwang_1580/article/details/79586710最近,采用Android Studio来进行ndk开发,由于Android Studio 2.2之后采用cmake的方法来...

2018-04-16 20:31:55 6828

原创 adb server is out of date. killing 可能的解决方法

在学习采用adb命令来调试Android程序的时候已经不记得多少次碰到这这个问题:打开Eclipse or Android Studio 发现不能找到设备,于是在dos窗口中输入命令adb shell,出现以下问题:adb devicesadb server is out of date. killing...ADB server didn't ACK* failed to star...

2018-04-07 13:41:46 2368

原创 Eclipse && Android Studio 常用快捷键整理

刚接触Eclipse没有多久就因为项目需要开始学习使用Android Studio,因为个人比较喜欢用快捷键,初用AS的时候许多快捷键与Eclipse不同,会有些不习惯。虽然可以将AS的快捷键设置为同Eclipse一样,但我还是选择追随AS原本的设置,感觉比较作-_-||Ctrl+B 跳转到定义,这个太有用了 双击Shift 全局搜索,不仅可以搜文本,还能搜设置,解决了我很...

2018-04-07 13:31:17 250

原创 C 语言几个内存管理函数整理

对于常用C/C++语言的人来说,内存管理无疑是十分重要的一个工作,因此经常会用到一些内存管理函数,在这里做一个简单的整理。 mallcovoid *malloc(unsigned int num_bytes);动态内存分配,用于申请一块连续的指定大小的内存块区域以void*类型返回分配的内存区域地址,即再分配内存之后,该指针已经保存了一个地址。 void* 类型表示未确定类型的指针,...

2018-03-23 20:01:57 2007

原创 NV21格式图像旋转 c++,平移、缩放实现代码

NV21格式图像旋转

2018-03-21 20:44:52 5154

转载 Eclipse卡死解决方法——可以解决大多数问题

Eclipse在调试时有时候会出现卡死的问题,看了网上的一些说法,有各种方法,比如:取消验证,关闭拼音检查,修改JSP、html等容易卡顿页面时的编辑工具,杜绝jar包访问网络,调整Eclipse运行内存,等等说法,而我在尝试了各种方法之后仍然出现卡死的问题,最终通过以下方法完美解决,在这里分享一下,真真屡试不爽:进入workspace/.metadata/.plugins/目录 重命名 o...

2018-03-21 19:39:12 6331

原创 YUV 常用图像格式 NV12、NV21、I420、YV12、YUYV 像素分布

介绍常见 YUV 和 RGB 图像像素分布

2018-03-17 21:28:06 52885 2

原创 Error LNK2019:Unresolved External Symbol Referenced In Function 的解决方案

在vs调试时可能会出现如下错误: Error LNK2019:Unresolved External Symbol * Referenced In Function *的解决方案三种可能的错误: 1、当头文件中声明了一个函数,但是在相应的源文件中却没有对该函数进行定义,则会出现为“解决的外部符号”(unresolved external symbol )错误。 solve method:...

2018-03-17 15:16:09 12835

原创 Android NDK开发测试

Android NDK开发 测试前言:Android开发小白,由于项目里用到NDK开发,在看代码的时候遇到了就稍微学习了一下NDK开发的一些简单知识,以后会在这块继续做补充…几个概念:JNI( Java Native Interface,Java本地接口 ),它提供了若干的API实现了Java和其他语言的通信(主要是C&amp;C++)。.so(shared object,共享对象.........

2018-03-16 20:53:50 780

原创 VS2013社区版登录、切换账户

1、VS社区版登录:在Microsoft官网注册Microsoft账号并登录,下载VS社区版,在VS2013中登录账号;2、VS2013社区版切换账户:以管理员模式运行regedit,打开路径 hkey_current_user\software\Microsoft\VSCommon\12.0\clientservices\tokenstorge\visualstudio\ideuser\cd

2017-08-21 13:57:04 2284

原创 KMP算法next数组计算--字符串方式

用字符串的方式说明模式串匹配中KMP算法求解next数组的方式

2017-06-19 23:51:17 2231

原创 VS+opencv应用程序无法正常启动

今天由于换电脑,重新配置了vs2013+opencv2.4.9,对照着教程配置好后,在debug程序的时候出现“应用程序无法正常启动0xc000007b…”的问题,怀疑是配置除了问题,于是,对照的好几个帖子配置了好几次,都出现了该结果,尝试了网上各种解决方法,这些解决方法我就不说了,都能找到,在这里只是分享我遇到的问题,(⊙﹏⊙)b。因为试了没有opencv的程序能跑,所以基本确定是因为ope...

2017-05-31 22:08:52 1345 2

原创 kd树理解——特征匹配、机器学习

kd树个人理解--基础、通俗!

2017-05-23 14:28:09 3659

原创 图像特征点检测与匹配评价——量化

特征点检测算法与匹配算法已经有很多,但匹配结果如何实现量化评价缺少一些参考,这里做个小结,希望与各位共同进步!

2017-04-01 14:36:12 25604 27

NV21图像旋转、平移、缩放操作实现

可用,NV21图像,1920*1280,可通过改变变量值换成别的尺寸的图像,缩放应该为2的倍数

2018-05-04

NV21图像旋转、平移、缩放、画矩形的C++实现

NV21图像旋转、平移、缩放、画矩形的C++实现,作为参考

2018-03-22

空空如也

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

TA关注的人

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