- 博客(30)
- 收藏
- 关注
转载 Android平台Camera实时滤镜实现方法探讨(二)--Android-GPUImage探讨
本章介绍android-gpuimage实现方式,即通过在C++层实现YUV-RGB转换,通过OpenGL绘制,通过片段着色器运行Shader脚本实现图像处理,虽然将滤镜的一些处理交给GPU来执行,极大的减少了速度,但YUV-RGB过程却拖了后腿。本章将从YUV、GLSL与OpenGL开始,逐...
2019-09-13 05:48:47
447
转载 Android平台Camera实时滤镜实现方法探讨(十一)--实时美颜滤镜
上一章完成了对图片的磨皮处理,经过简单算法流程优化,可以达到很快的速度,但是不能用于实时美颜。经实验,若采用只处理Y信号的方案,半径极限大约是5-10,超过10则明显感受到卡顿,但对于1920X1080的预览分辨率来说,取10为半径很难得到理想效果。即使将分辨率降低到1280X720也差强人意...
2019-09-13 05:48:42
404
转载 Android平台Camera实时滤镜实现方法探讨(一)--JNI操作Bitmap
众所周知,通过setPreviewHolder可以将预览数据显示在一个SurfaceView上,即可实现相机拍照时的预览功能,通过添加各个控件和接口即可实现简单相机应用,但如果需要对预览画面进行处理,例如类似美图秀秀等相机APP的实时滤镜功能,此种方案无法达到目的,需要另外需找办法,本系列旨在...
2019-09-13 05:48:38
428
转载 [Android开发]仿天天P图带气泡显示百分比进度的自定义SeekBar
仿天天P图图像美化修改工具,素材来自于天天P图,效果图 效果就是点击之后会有气泡显示进度,优点是气泡不占用控件的高度 其他效果可参看https://github.com/AnderWeb/discreteSeekBar 实现方法: 添加OnSeekBarChangeListene...
2019-09-13 05:48:33
163
转载 Android平台Camera实时滤镜实现方法探讨(八)--滤镜基本制作方法(二)简单美颜滤镜...
美颜包含磨皮、美白、瘦脸等效果,其中磨皮算法在很多博客中均有介绍 例如: 双指数边缘平滑滤波器用于磨皮算法的尝试 选择性模糊及其算法的实现 基于局部均方差相关信息的图像去噪及其在实时磨皮美容算法中的应用 导向滤波磨皮 递归双边滤波磨皮 以上博客均有相关代码/公式,经试验若...
2019-09-13 05:48:28
530
转载 Android平台Camera实时滤镜实现方法探讨(三)--通过Shader实现YUV转换RBG
文章例如该链接通过将YUV分成三个纹理,在shader中取出并且经过公式变换,转换成RGB。我尝试了下,显示的是灰色的,可能是这篇文章采用的是planar格式的YUV,与Android平台的packed格式的YUV不同,因此需要在纹理绑定处进行数据指针的修改。 之前在一篇13年北大硕士...
2019-09-13 05:48:24
225
转载 Android+JNI+OpenGL开发自己的美图秀秀
代码地址 网上对于Android相机的开发博文较少,碰巧闲着无聊,遂完成此工程,仅供学习交流,可根据地址中的示例完成类似于美图秀秀的APP,包含40+种滤镜与实时美颜与后处理美颜功能。若对您有帮助,点开地址并且点击右上角的Star。 1.相机预览模式 示例见:com.seu....
2019-09-13 05:48:19
357
转载 Android平台Camera实时滤镜实现方法探讨(六)--创建帧缓存对象(FBO)加速实时滤镜处理...
上一章探讨了如何采用SurfaceTexture+GLSurfaceView显示YUV数据,减少了片段着色器的工作量和代码量,但是采用GLSL采用的外部纹理真正的内容是在物理内存中,GPU只负责维护元数据,这样就增加了GPU取数据的时间,若进行一些运算密集的算法例如高斯滤波,每次都会到外部纹理...
2019-09-13 05:48:15
290
转载 Android平台Camera实时滤镜实现方法探讨(七)--滤镜基本制作方法(一)
关于如何制作滤镜,知乎的这篇问答中的最高票给了比较专业的回答 另外,githunb曾经有个开源项目InstagramFilters给出了Instagram中最初版本的一些滤镜代码,约不到20种,下载地址,GPUImage中也有一些图像处理算法可供学习 下面我们一起来探讨探讨滤镜的制作: ...
2019-09-13 05:48:10
307
转载 Android平台Camera实时滤镜实现方法探讨(五)--GLSurfaceView实现Camera预览
前面有一篇探讨了如何在片段着色器中将YUV数据转换为RGB数据并显示,但采用samplerExternalOES将SurfaceTexture作为OpenGL外部纹理,需要使用GL_TEXTURE_EXTERNAL_OES作为纹理模板,通过SetPreviewTexture将Camera数据图...
2019-09-13 05:48:05
218
转载 Android平台Camera实时滤镜实现方法探讨(十)--代码地址以及简介(20160118更新)
简单做了个相机和图片编辑模块,时间原因很多功能还没有做,尚有BUG,见谅,将在以后抽时间修改 代码地址 PS:请点个Star^-^ ---------------------------------------------------------------------------...
2019-09-13 05:48:01
218
转载 [Cocos2d塔防游戏开发]Cocos2dx-3.X完成塔防游戏《王国保卫战》--防御塔(三)之初级炮塔...
该章节主要介绍初级炮塔 与箭塔相比,箭塔一共需要只需要1-2张图片,除了弓箭手,塔是静止的,而炮塔相对比较复杂 从图中我们可以看出,炮塔的动作序列比较复杂,所以只需要将一个个动画序列分清楚,好在我们用的现成的图片资源,只要一个个通过addchild添加进去即可,然后用动画序列播放。 ...
2019-09-13 05:47:56
194
转载 Android平台Camera实时滤镜实现方法探讨(九)--磨皮算法探讨(一)
上一篇开头提到了一些可用于磨皮的去噪算法,下面我们实现这些算法并且观察效果,咱不考虑实时性的问题 本文首先探讨的首先是《基于局部均方差相关信息的图像去噪及其在实时磨皮美容算法中的应用》 该算法利用图像局部统计特性进行滤波处理,例如NXM像素的灰度图,首先计算点(i,j)所在窗口内(大小为...
2019-09-13 05:47:53
255
转载 [Cocos2d塔防游戏开发]Cocos2dx-3.X完成塔防游戏《王国保卫战》--防御塔(七)之士兵...
该章节主要介绍兵营塔中的士兵 上一章讨论到兵营塔,兵营塔的关键在于士兵,士兵的一切动作,包括升级都在士兵类中完成,代码部分在Soilder文件夹中。 士兵的类型多种多样,不光兵营塔有士兵,法师塔与炮塔在升级到4级后均可以产生出一种士兵 typedef enum{ Sol...
2019-09-13 05:47:48
307
转载 [Cocos2d塔防游戏开发]Cocos2dx-3.X完成塔防游戏《王国保卫战》--敌人(一)
该章节介绍如何制作敌人 首先根据可能出现的情况定义一个枚举类型,包括了敌人可能出现的所有状态,将在以后用到 typedef enum{ stateNone = 0, //无状态 stateWalkRight, //向右走走状态 stateWalkLeft, //...
2019-09-13 05:47:44
295
转载 [Android开发]LinearLayout与RelativeLayout异同深入探讨
Android初级工程师或者校招的面试过程中,很容易被问到LinearLayout与RelativeLayout区别,这是一个基础问题,由此可以引出例如ViewGroup和View绘制流程等问题,可以看出应聘者的掌握程度。 一般可以这么回答回答: LinearLayout为线性布局: 1...
2019-09-13 05:47:40
451
转载 [Cocos2d塔防游戏开发]Cocos2dx-3.X完成塔防游戏《王国保卫战》--简介+代码+资源
学校实训项目需要用cocos2dx做一款塔防游戏,因为时间与制图技术、创意原因无法进行原创,碰巧找到了皇家守卫军这款游戏的图片资源,决定用cocos2dx来重现这款经典塔防游戏。 本项目已完成3分之1,初学cocos2dx1个月,时间有限,无法100%还原全部游戏...
2019-09-13 05:47:36
535
转载 [Cocos2d塔防游戏开发]Cocos2dx-3.X完成塔防游戏《王国保卫战》--防御塔(一)
该章节主要介绍防御塔的基本性质和制作思路 首先我们定义一个防御塔的基类BaseTower class BaseTower: public Sprite 我们要先确定一个塔所具备的属性,这些可以根据自己所设计的游戏需要来自行定义,例如: CC_SYNTHESIZE(T...
2019-09-13 05:47:32
436
转载 [Cocos2d塔防游戏开发]Cocos2dx-3.X完成塔防游戏《王国保卫战》--子弹类(一)
该章节主要介绍防御塔的子弹 有了防御塔没有子弹类是不能攻击敌人的,所以接着来讨论子弹,新建一个子弹基类Bullet.h class Bullet : public Sprite{public: Bullet(); ~Bullet(); virtual boo...
2019-09-13 05:47:28
199
转载 [Cocos2d塔防游戏开发]Cocos2dx-3.X完成塔防游戏《王国保卫战》--地图(一)
上面3张图是完成后的效果图 游戏已完成,除了英雄外,基本还原了90%的游戏内容,一共13关,20种防御塔,30+种敌人,如上图,以假乱真吧 下面从地图模块起介绍我的方法,如有更好的方法,请留言一起讨论,游戏资源下载原版游戏数据包,解压即可 推荐一款软件,TextureU...
2019-09-13 05:47:23
431
转载 Android平台Camera实时滤镜实现方法探讨(四)--以Hefe滤镜为例
上文讲到如何将YUV转换成RGB,之后就可以根据自己的设计,制作自己需要的滤镜了,例如将红色变的更红,增加亮度等。本文以Instagram上的Hefe滤镜为例 滤镜的制作,基本上采用图层+曲线,结合一些其他属性的调节,例如这篇文章讲解了如何用PS模拟Instagram上的滤镜。 1.添加边...
2019-09-13 05:47:19
208
转载 [Android开发]简单版仿淘口令复制弹出框功能
使用Android系统的粘贴板管理服务及ClipboardManager通过addPrimaryClipChangedListener添加Listener来监听粘贴板的状态,很很简单的一个小功能~ 1.首先创建一个Service在后台运行: Intent intent = new...
2019-09-13 05:47:15
399
转载 [Cocos2d塔防游戏开发]Cocos2dx-3.X完成塔防游戏《王国保卫战》--防御塔(五)之高级箭塔...
该章节主要介绍高级箭塔 2级和3级箭塔与初级箭塔只是替换了图片并且将攻击力、射程等提高,其他并无区别 高级箭塔也是高级塔中最好设计的,通过替换一些图片,增加例如发光的眼睛,飞翔的老鹰等动画即可。 不同之处在于增加1-2个技能 例如下方CossbowHunterTower,在shoo...
2019-09-13 05:47:11
231
转载 [Cocos2d塔防游戏开发]Cocos2dx-3.X完成塔防游戏《王国保卫战》--敌人(二)之BOSS...
该章节主要介绍游戏中的BOSS 我主要制作了两个BOSS,分别为第6关的神灯和11关的大猩猩 首先,是BOSS的入场动画,例如第六关墙壁倒塌的效果。我们注意到BaseMap中有个虚函数virtual void waveEvent();,在BaseMap的addWav...
2019-09-13 05:47:07
122
转载 [Cocos2d塔防游戏开发]Cocos2dx-3.X完成塔防游戏《王国保卫战》--防御塔(二)之初级箭塔...
该章节主要介绍如何制作初级箭塔 首先我们先观察下这个游戏的箭塔 这个游戏的箭塔都是拥有两个弓箭手。以初级塔为例,左右两边分别有两个弓箭手,可以攻击不同的目标,并且同时只有一个弓箭手在攻击。根据这个特性我们写一个BaseArrowTower class BaseArrowTow...
2019-09-13 05:47:03
184
转载 [Cocos2d塔防游戏开发]Cocos2dx-3.X完成塔防游戏《王国保卫战》--地图(二)
接上文,添加地图,在地图层直接添加即可,我是将AnchorPoint设置在(0,0),方便计算坐标 mapSprite = Sprite::createWithSpriteFrameName(String::createWithFormat("Stage_%d.png",level+1)...
2019-09-13 05:46:59
237
转载 [Cocos2d塔防游戏开发]Cocos2dx-3.X完成塔防游戏《王国保卫战》--防御塔(四)之升级防御塔...
该张补充如何升级防御塔 首先是,点击该图标,会弹出上面那张GIF的建造选项。 具体代码在Terrain(名字是根据资源包图片名起的)中,首先根据每一个地图算好坐标,在地图添加到场景后执行addTerrains()添加到地图层中。在Terrain的Init函数中根据地图类型选择图...
2019-09-13 05:46:55
455
转载 [Cocos2d塔防游戏开发]Cocos2dx-3.X完成塔防游戏《王国保卫战》--游戏开始界面
修改AppDelegate中内容,将setDesignResolutionSize中改为 <span style="font-size:14px;">(960, 640, ResolutionPolicy::FIXED_HEIGHT)</span> ...
2019-09-13 05:46:50
158
转载 [Cocos2d塔防游戏开发]Cocos2dx-3.X完成塔防游戏《王国保卫战》--防御塔(六)之兵营塔...
该章节主要介绍兵营塔 兵营塔可以产生三个士兵,可以设置士兵集结点,当周围有敌人通过时,士兵会拦下敌人,并与敌人进行搏斗。每隔N秒,会回复士兵血量,可以升级,有更多的兵种。 去其他防御塔相比,兵营塔在建造完毕,即上一章节中的buildingSmokeAnimation执行完毕后创建3个...
2019-09-13 05:46:46
276
转载 [Cocos2d塔防游戏开发]Cocos2dx-3.X完成塔防游戏《王国保卫战》--其他
最后一章,讲一下其他零碎的地方。 防御塔方面,还有炮塔的两个高级塔,例如地震塔,机器人塔。地震塔就是周围敌人全部减少血量,机器人塔就是一个士兵类,炮塔升级成士兵类,实现方式和士兵类似。 法师塔方面,死亡先知塔可以召唤龙卷风,龙卷风是一个子弹类,生成后自行寻找最近敌人并且移动到敌人处,...
2019-09-13 05:46:42
151
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人