自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(125)
  • 资源 (20)
  • 收藏
  • 关注

转载 shader内置变量和函数

转自: https://blog.csdn.net/wcl0617/article/details/51496929内置函数radians(degree) : 角度变弧度;degrees(radian) : 弧度变角度;sin(angle), cos(angle), tan(angle)asin(x): arc sine, 返回弧度 [-PI/2, PI/2];acos(x): arc cosine,返回弧度 [0, PI];atan(y, x): arc tangent, ...

2020-08-13 23:46:00 483

原创 PopupWindow 使用介绍

PopupWindow 使用介绍一、popupWindow使用时候需要注意的方法public void setFocusable(boolean focusable) { mFocusable = focusable;}​public void setOutsideTouchable(boolean touchable) { mOutsideTouchable ...

2020-04-14 19:36:20 877

原创 excel撤销工作保护(忘记密码)

编辑的时候出现无法保存,要求撤销工作保护,如下图如果忘记了密码可以如下破解1、将excel表格重命名为.rar文件。2、用解压文件解压,如下图:3、打开目录,找到含有sheet1.xml的文件目录,其中多个表格的时候可能含有多个sheet文件4、以文本形式打开每一个sheet文件,然后ctr+F寻找<sheetProtection password="CEED" shee...

2020-01-01 21:57:43 5660

原创 pkm与png的相互转化

利用Mali Texture Compression Tool制作自己的png2pkm 和 pkm2png工具1、下载安装,官网;如果网不好,可百度云盘2、png2pkm 写一个windows脚本,放在F:\Mali compression tool\bin下:@echo off@echo start getListset /p a=please input png dictionary...

2019-12-01 00:48:21 8229 2

转载 如何快速转载CSDN中的博客

  对于喜欢逛CSDN的人来说,看别人的博客确实能够对自己有不小的提高,有时候看到特别好的博客想转载下载,但是不能一个字一个字的敲了,这时候我们就想快速转载别人的博客,把别人的博客移到自己的空间里面,当然有人会说我们可以收藏博客啊,就不需要转载,(⊙o⊙)… 也对。。实现  因为我自己当初想转载的时候却不知道该怎么转载,所以学会了之后就把方法写出来,帮助那些想转载却不知道该怎么转载的人(大神勿...

2019-11-30 23:55:23 139

转载 手游性能优化之深入理解Texture Compression

http://gad.qq.com/article/detail/7154875一、引子  手游项目开发日常里,经常有美术同学搞不清Photoshop制图软件与Unity3D游戏引擎之间的图片assets流转逻辑,在工作输出时经常出现如下疑问:1、要JPG的,还是要PNG的?2、JPG的要压存为多高质量的?3、PNG的还要压?引擎不是自动处理的么?4、为毛非要正方形的?我这...

2019-11-30 23:33:40 435

原创 git push到gee或者github上报错

windows上git push的时候报错: git pushremote: Incorrect username or password ( access token )fatal: Authentication failed for 'https://gitee.com/.....主要是你可能之前登录push过,后来修改过密码,导致window记住的凭证 与 你现在的密码不匹配,...

2019-11-30 23:01:37 330

原创 python实现批量文件重命名并生成可执行exe文件

业务需求,需要对文件进行批量重命名,于是就研究了下用python实现了,并利用pyinstaller打包py文件成windows可执行的exe文件生成了可执行文件,懒得配置环境的老铁可以下载我打包好的exe执行文件:下面贴出源码:import osprint('''输入说明:*********************回车取默认值**********************head:...

2019-11-30 02:17:09 609

原创 pyinstaller打包py文件成windows可执行的exe文件

用python写了一个脚本文件,为了在window上执行,需要生成exe文件,方法如下:1、首先安装打包工具、pip install pyinstaller2、pyinstaller -F + py执行文件当看到successful,就打包成功,并且命令log会告诉你生成exe所在位置node:在python3.8上,pyinstaller不支持,需要执行安装下面依赖即可:...

2019-11-25 23:48:35 295

原创 git 命令

1、提交代码提交代码很容易出现冲突,因此需要git pull --rebase,如果忘记了可以通过下面2种方式解决如果忘记了1,且执行了git commit了,我们可以git reset HEAD --soft 丢掉最近一次commit,本地代码不变 如果忘记了1,且执行了git commit了,我们可以直接git pull --rebase,然后解决冲突,解决完毕后,git add...

2019-11-25 23:44:45 91

原创 git 自定义命令

环境window10git for windows这里拿下载我的github上的一个项目,我们知道,在工作中,git的一些命令比较繁琐,重复,为了减少输入,我们可以自己定义一套操作,在git bash中输入我们的命令来完成一套操作。下面讲解一下方法:1、写一个自己的bash文件创建一个文件,这里我命名为.lammy.bash,在这里面定义我的操作,这里以下载我的github的一个...

2019-11-25 23:29:39 739

原创 android openglse实现滤镜九宫格

opengl的渲染之前讲过很多,包括FBO等常用的技术(可参考我的博客:fbo),今天解决之前的一个小疑问:手机系统相机中,九宫格的滤镜选择是如何实现的,今天闲暇就实现起来看看,同时开放出来之前私有的相机项目:LammyOpenglCamera原理:先利用fbo,将相机数据绘制到一个纹理当中,然后将纹理设置到不同的filter,利用 glViewport来确定绘制窗口位置,然后利用不同的filt...

2019-06-13 16:20:34 889 1

原创 android sensorManager

应用activity 和 service 如何拿到系统service注册所有服务,这里注册的服务sensorManager服务,不是系统服务(SENSOR_SERVICES 是系统服务),这里需要创建new。accountManager是系统服务,可以用过serviceManager binder获得。将注册的服务添加到 SYSTEM_SERVICE_MAP中...

2019-05-20 12:08:29 479

原创 android systemserver

systemserver 作用1、创建系统服务2、添加到serviceManager3、初始化 系统服务系统服务系统会先定义一些服务然后会进行初始化 Init()判断是否ready...

2019-05-19 18:05:52 598

原创 android 开机启动

bootanim过程启动框架图当 openglse 和 ams启动完成,启动home Ui时,设置这时候,读取这个属性后 bootanim就会退出。bootanimation.zip解压part0,part1 是图片derc是配置信息...

2019-05-19 17:08:02 195

原创 android zygote

服务虚拟机创建流程虚拟机配置zygote启动分析所有应用进程虚拟机,都是继承zygote,共享资源,加速应用启动。启动sevice抛出异常,在异常信号中重启zygote 和systemServer预加载资源:预加载作用查看加载时间:优化方法,多线程BLCR技术上次启动成功,,并将已经加载好的资...

2019-05-19 16:41:53 209

原创 android系统启动 Init进程

android系统启动recovery升级模式:启动recovery分区内核和文件系统正常启动模式: 引导内核和启动Android系统android系统由uboot启动:1、输入模式,输入了recover命令,重启uboot就会引导recover分区,2、uboot启动的过程中会等待 按键输入,如电源 + 音量上键 进入recover模式3、系统正常重启后,点击了系统升...

2019-05-17 18:02:28 529

原创 android 非jni函数调用java类方法

上篇博客已经讲到了android jni 调用java类方法和成员变量,源于ffmpeg的调用android的硬解码的灵感,则想着,在非jni函数中调用java层代码。便花了点时间研究了下。大家都知道jni函数中NIEnv *env, jobject instance,一个 是包含的jvm环境一个是 传下来类对象。于是在jni的函数最终保存了env,然后在非jni函数调用,但会失败,报错en...

2019-05-13 15:53:32 604

原创 QT 录制音频

音频的推流和封装与视频是类似的,主要在于录制和重采样部分。QT再window的安装可以参考博客: vs2017 配置QT环境主要是在创建QT项目的时候加入 multimedia库,利用这个库用来录制音频的。QAudioFormat这个类是用来设置录制音频的参数的,如下:QAudioFormat fmt; fmt.setSampleRate(sampleRate);// ...

2019-05-10 11:28:45 1854 2

原创 vs2017 配置QT环境

vs2017的安装这里就不讲述,先下载qtQT下载qt的版本很多,windows目前是将64位和32位编在一起的,下载地址http://download.qt.io/archive/qt/安装也很简单,主要是第二部,要求登录,可以直接 skip,然后再选择第一项中,打开下拉 勾选vs2017 64位(这个根据你的项目和安装的vs版本选择)安装后,在qt\Tools\QtCr...

2019-05-06 10:35:59 6360

原创 vs2017配置 opencv4.01

1、下载opencv4.012、进行 环境变量配置配置x15/bin的路径到系统环境变量opencv\opencv\build\x64\vc15\bin否则会报错找不到opencv_world401d.lib的错误3、include的配置必须配置2个:opencv\opencv\build\includeopencv\opencv\build\include\op...

2019-05-02 16:27:25 271

原创 ffmpeg 代码实现rtmp推流到服务器

前面2篇已经讲解了如何搭建直播服务器 ffmpeg + nginx配置智播推流服务器和ffmpeg + crtmpserver实现直播推流,并且通过ffmpeg命令实现了推流,下面讲解下如何用代码实现推流,并且通过设置dts来实现推流的速度。之前也写过,将摄像头的数据保存到本地为mp4:ffmpeg 获取电脑摄像头数据,并且保存为MP4视频,这里其实差不多,只是将输出设备从本地文件mp4 改...

2019-04-30 17:28:52 13061 1

原创 ffmpeg 常用函数说明

初始化部分函数1、初始化所有封装和解封装 flv mp4 mov mp3av_register_all();2、初始化网络库avformat_network_init();open部分打开输入设备int avformat_open_input(AVFormatContext **ps, const char *url, AVInputFormat *fmt...

2019-04-30 17:10:51 975

原创 ubuntu一些使用技巧 和命令

1、截图全屏:按键print screen 存储位置 home用户的下的 picture目录下自由画框截图: shift +print screen键 也是存储在 home用户的下的 picture目录下2、进入root 文件模式nautilus会打开一个文件窗口,可以对任何文件进行修改,包括系统文件。3、解压tar -zxvf nainx-1.12.tar.g...

2019-04-30 11:41:25 146

原创 ubuntu 18.04 安装sogou拼音

下载直接百度输入搜狗输入法 for linux,下载ubuntu系统的输入法,download下文件:sogoupinyin_2.2.0.0108_amd64.deb安装cd到下载目录,然后进行安装:sudo dpkg -i sogoupinyin_2.2.0.0108_amd64.deb设置settings里面,看是否有中文,如果没有添加chinese,如果没有,就...

2019-04-30 11:38:29 3081 1

原创 ffmpeg + nginx配置智播推流服务器

nginx是配置网站服务器,但是通过安装相应modue也可以实现直播推流。nginx服务器配置环境ubuntu 16.04 nginx 1.13依赖库安装sudo apt-get install gitsudo apt-get install libssl-devsudo apt-get install libpcre3 libpcre3-dev sudo apt-ge...

2019-04-30 10:27:52 2393

原创 ffmpeg + crtmpserver实现直播推流

搭建服务器crtmpservercrtmpserver是开源的直播服务器,地址:https://github.com/j0sh/crtmpserver环境:虚拟机+ubuntu16.04gcc5.4在虚拟机中打开终端,执行下面操作:sudo apt-get updatesudo apt-get install cmakeasudo pt-get install li...

2019-04-29 10:50:57 1278 1

原创 c++ 读取文本操作

没有时间写博客,参考下:void model::InitModel(const char*modelFilePath,const char*textureImagePath) { std::vector<float> texCoord; std::vector<float> normal; std::vector<float> p...

2019-04-28 16:24:38 305

原创 android samplerExternalOES 纹理

samplerExternalOES 的纹理映射上一章节讲解了opengl顶点坐标与sampler2D坐标,而samplerExternalOES 是android用来渲染 相机数据。但它也存在一个问题,android的后置相机的预览的图像是顺时针旋转90°的,而相对于前置相机则是逆时针旋转90°的,如果想要跟照镜子一样的模式,自拍则还要左右对换。后置摄像头后置摄像头只是需要将纹理旋转...

2019-04-28 11:34:26 6355

原创 opengl 顶点坐标和sampler2D纹理坐标

在利用非固定管线进行纹理渲染的时候,经常要用到纹理和顶点坐标的映射关系,这里从三维角度介绍下二维的纹理坐标映射:顶点坐标:首先得明确:顶点坐标是在世界坐标系上(可参考:从渲染过程来理解opengl坐标系和坐标变换投影),这里的世界坐标系投影的屏幕坐标系(可参考:从渲染过程来理解opengl坐标系和坐标变换投影)上, x、y如上图所示,z正方向是从屏幕向外,人眼的位置则是在原点(0...

2019-04-26 13:13:07 9601 2

原创 yuv格式介绍与opengl 显示 yuv数据

目录yuv数据介绍:yuv444yuv420yuv422Opengl显示yuv数据提取数据创建纹理shader显示yuv数据介绍:yuv数据存储主要分3大种:yuv420、yuv444、yuv422图中:空心圆表示 一个uv, 实心圆表示一个y。下面对三种格式进行一个解释:cb代表u,cr代表v。大部分数据格式再 ffmpeg的枚举类...

2019-04-26 11:45:49 7228 2

原创 FFMpeg opengl显示解码avframe

FFmpeg解码出来avframe,但显示很容易出现乱码,因为为了计算的方便,ffmpeg解码出来的数据,总视根据系统处理器或者系统来补齐为 64、32、16的倍数。这也是我们显示乱码的问题所在。问题比如我显示抖音上的视频的宽为368x640, 解码的帧率avFrame,下面是avframe的一些成员变量:avFrame->format = 0 // 表示是 yuv420p的数据...

2019-04-26 09:55:46 3168 3

原创 android glSurfaceview 底层创建EGL渲染环境

之前 android studio搭建简单jni层的opengl开发框架讲到的是在上层render的三个回调函数中写jni函数,从而在jni层调用opengl的绘制,但是在做播放器的时候,需要用opengl来渲染 每一帧,而底层解码后,再渲染,将渲染放在底层,这样播放器的整个框架都在底层,上层只是UI的一些显示操作,而且 如果在render的onFrame中直接来显示帧,在暂停或者seek的时候由...

2019-04-25 18:02:57 1512 3

原创 C++ 数组作为参数

之前写过,当类对象作为参数,传入函数的时候,在函数内部,进行对类的操作,有的会生效,有的不会,当将类的指针对象传入的时候,就不会不生效。今天同样遇到,将数组指针指针当作参数,传入函数的时候也失效了。就是说,在函数中获得数组的值是错误的。给我的感觉,c++用起来很不安全,好多坑,当然,c++ 用的少自己菜的原因。可能是针对c++ 的 变量的生命周期了解不够透彻。1、函数内部 数组的生命周期...

2019-04-25 16:05:38 1088

原创 ffmpeg音视频同步,seek策略总结。

上一篇音视频同步策略和视频seek策略讲过一些方法,但是总视存在一些小问题,这里花费了近三天的时间对整个 音视频同步,以及seek测率进行较大的调整,使得整个程序更健壮,用户在界面胡乱操作,seek和pause都不会引起程序卡顿和崩溃了。音视频seek策略最简单的方法,就是一个大锁,将音频解码 和 视频解码播放 各用同一个锁锁住,然后,将seek部分用同一个锁锁住,这样seek的时候清空数据就...

2019-04-20 11:30:45 2563 2

原创 C++11 中thread 多线程的使用

1、简单的静态方法使用 void test(int a){ LOGE("test a = %d", a);}void main(){ std::thread seek_th(test ,2); seek_th.detach();}2、在类对象中,调用类的方法,创建线程。void LammyOpenglVideoPlayer::seekThread...

2019-04-19 14:59:52 604

原创 android jni 调用java类方法和成员变量

目录 jni层的2个变量介绍。jni调用java层对象和方法获取上层java的类。调用java层方法调用java成员变量参数 const char* sigjni层的2个变量介绍。JNIENV*env,这个是java jni的接口环境,通过它来和上层和c层打交道。jobject instance 这个变量就是jni 函数所在上层调用此函数的类...

2019-04-19 14:42:27 1267 1

原创 visual Studio 添加新的框架模板

一直在用visual studio开发c++,近期,公司要求利用c#开发一个窗体应用程序,打开vs后,点击c#,发现无wpf 或者 窗体应用程序,应该是当初安装vs的时候,没有选择安装此模块。因此到处需求安装新模板的方法,奈何没有找到,正绝望准备卸载重新安装vs的时候,却让我看到了一个应用: 点击打开此 installer程序然后就可...

2019-04-15 10:30:29 5585 1

原创 SwsContext、sws_scale缩放失败,或者缩放后视频乱码

虽然 ffmpeg的缩放效率比较低,但随着电脑或者硬件设备发展,即使使用低效率的,也可以达到普通播放器的要求了。但在使用的过程中的坑还是很多的。在android手机中使用SwsContext 和sws_scale缩放后,视频总视出现乱码或者 干脆一个黑屏。void FFMVideoShow::show(AVFrame *avFrame){ if(dataManager-&...

2019-04-13 11:31:39 3172

原创 音视频同步策略和视频seek策略

此文章讲的seek测率有一定缺陷,即用户非常快速点击seek操作,主线程会卡,下一篇ffmpeg音视频同步,seek策略总结是对这篇的改进,若想直接了解较好的策略,直接移步到我的下一篇中。音视频同步一般有三种方式,1、设置共同时间标志。这种多用于多视频播放中。2、音频同步视频,(由于人耳对音频比视频敏感,比较少用)3、视频同步音频下面就介绍一种视频同步音频的方法。视频同步音...

2019-04-12 12:06:39 1337

rename.zip

有exe执行,可直接对文件夹种文件批量命名,无需安装python环境,且含有源码,详情参考博客: https://mp.csdn.net/postedit/103320058

2019-11-30

glsurfaceview在native创建EGL环境并渲染

本demo实现了 glsurfaceview 在底层实现 egl环境,并且在底层向窗口渲染 绘制图像。此方法适用于 游戏和 视频播放器方面,不懂的地方可以参考我的博客https://blog.csdn.net/zhangpengzp/article/details/89519416,欢迎评论和留言。

2019-04-25

opengl mvp矩阵实现3d漫游

代码在android 平台,jni 层利用 mvp矩阵实现了 地球的绘制,旋转 移动,以及相机的旋转和移动 ,参考:https://blog.csdn.net/zhangpengzp/article/details/88749779

2019-03-26

android studio opengl jni层搭建开发框架

代码实现了opengl se在android jni层开发的框架,具体请参考博客: https://blog.csdn.net/zhangpengzp/article/details/88714034

2019-03-21

go 实现百度图片爬虫(破解百度防爬虫机制)

安装好go,配置好环境变量,下载后,直接执行run go pachong.go 即可下载。当然更改 关键则文件夹,爬虫你想要的图片也可以。请参考博客: https://blog.csdn.net/zhangpengzp/article/details/88565325

2019-03-15

快速双边滤波的美颜算法

本文实现了基于快速双边滤波得美颜算法。详细信息可以查看博客:https://blog.csdn.net/zhangpengzp/article/details/87884584

2019-02-25

node.js 实现图片 压缩,上传下载,以及base64的图片显示、上传和服务端接受

该代码实现了node.js 配置服务器,网页上传压缩图片、显示base64 上传接受base64图片格式,该代码来源于博客:https://blog.csdn.net/zhangpengzp/article/details/86629097

2019-01-24

tensorflow模型以及so 和 jar在android studio中的应用

tensorflow编译的so、和jar包以及模型在android平台的运用,实现了手写字体的识别:来源博客:https://blog.csdn.net/zhangpengzp/article/details/86220384

2019-01-10

libcudnn7_7.3.1.20-1+cuda9.0_amd64.deb

cudnn7.3.1 for cuda9.0的 libcudnn7_7.3.1.20-1+cuda9.0_amd64.deb部分 伙伴可以在此下载,完整的一套请查看博客:https://blog.csdn.net/zhangpengzp/article/details/85008507

2018-12-14

libcudnn7-dev-doc_7.3.1.20-1+cuda9.0_amd64.deb

cudnn7.3.1 for cuda9.0的libcudnn7-dev_7.3.1.20-1+cuda9.0_amd64.deb 和libcudnn7-doc_7.3.1.20-1+cuda9.0_amd64.deb 部分 伙伴可以在此下载,完整的一套请查看博客:https://blog.csdn.net/zhangpengzp/article/details/85008507

2018-12-14

cudnn7.3.1 for cuda9.0中cudnn-9.0-linux-x64-v7.3.1.20.tgz第二部分

cudnn7.3.1 for cuda9.0, 伙伴可以在此下载,这是cudnn-9.0-linux-x64-v7.3.1.20.tgz第二部分,需要2部分都下载放在同一文件下,解压任一压缩文件即可,完整cudnn来自博客:https://blog.csdn.net/zhangpengzp/article/details/85008507

2018-12-14

cudnn7.3.1 for cuda9.0中cudnn-9.0-linux-x64-v7.3.1.20.tgz第一部分

cudnn7.3.1 for cuda9.0, 伙伴可以在此下载,这是cudnn-9.0-linux-x64-v7.3.1.20.tgz第一部分,需要2部分都下载放在同一文件下,解压任一压缩文件即可,完整cudnn来自博客:https://blog.csdn.net/zhangpengzp/article/details/85008507

2018-12-14

androidopengl相机实时滤镜拍照

实现opengl的实时滤镜,离屏渲染,拍照等功能,相比一些开源框架简化了很多,适合学习。部分手机无法显示的问题,请修改下CameraInterface 下的成员变量previewSize ,修改为 测试手机支持的即可。来源与博客:https://blog.csdn.net/zhangpengzp/article/details/84861785

2018-12-06

libyuv 编译的so库和include文件

编译好的google 的libyuv库的so文件和 libyuv的头文件,方便android 开发,来源于博客:https://blog.csdn.net/zhangpengzp/article/details/82356281

2018-09-03

ffmpeg编译的android so库和include文件

为android平台编译的ffmpeg so库 和 对用的 include文件,方便直接在android studio中进行ndk开发,来源于博客https://blog.csdn.net/zhangpengzp/article/details/82289224 使用so的方法: https://blog.csdn.net/zhangpengzp/article/details/82289769

2018-09-01

ffmpeg 编译so库android ndk来对视频编解码

对于ffmpeg 编译后的so在android studio上的应用,demo为对mp4 在ndk上对视频进行解码,并且编码为yuv格式,里面包含测试视频,来与博客https://blog.csdn.net/zhangpengzp/article/details/82289769

2018-09-01

tensorlow线性回归demo

随机100个点,符合一个线性回归,再利用tensorflow训练这些点,得到一个线性回归模型的参数w和b

2018-08-03

numpy array的操作和随机数等常用函数的demo

numpy 科学计算array的常用初始化、操作 注意事项,以及各种随机数的demo

2018-07-29

图片动漫风格化

opencv实现图片的风格化,针对任务效果不好,针对风景不错

2018-07-26

opencv 照片动漫风格化

风景照片的动漫画,针对人脸效果不怎么好。

2017-08-13

空空如也

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

TA关注的人

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