在使用glsurfaceView渲染图片和摄像头采集的视频数据时候,之前默认的使用直接渲染的方式。但是在实际的开发使用中,我们很多时候并不想要直接渲染,而是先做一些额外的工作,比如滤镜 。 fbo可以帮我们更好的实现这个需求,FBO可以让不渲染到屏幕当中去,而是渲染到离屏的buffer中。
seeta::FaceAlignment 是中科视拓开放的商用级人脸识别库 。包括,识别,检测,对齐等多个核心模块 。 https://github.com/seetafaceengine/SeetaFace6
http://dlib.net dlib 源码下载。
环境参考: android-ndk-r14b ,opencv 3.4 , dlib 19.19
Digital Image Processing
- 图形和图像的区别
图形是由指令集构成,指令就是命令,由 位置 形状,颜色等进行描述 。记录和显示的是坐标,颜色是隐含的 。 moveTo lineTo 等。。
图像 更加直观,坐标是隐含的,显示的是颜色值 。
《计算机图形学》《计算机图像处理学》
一些常用的基础命令
在更早做Android项目中,一直在使用mvc这种模式进行开发 。
不同于 synchronize关键字 ,从 1.5开始 lock是jdk提供给我们的api
synchronize是jdk提供的进行辅助同步的关键字。
它可以修饰一个 方法体,可以同步代码块修饰一个对象。
死锁
wait 和 notify 是object类的方法 ,也就是说在java世界里,所有的class对象都会持有这2个方法。
在使用过程中,wait 和 notify一定是成对出现的。
在调用wait时候,线程必须持有被调用对象的锁。当wait被调用,线程就会释放持有的对象锁 。 sleep方法并不会释放锁。
gc实践
jvm gc
- classLoader
- 字节码
- 内存区域划分
- 垃圾回收
blog:
清华大学计算机系毕业,专注于流媒体技术
https://blog.piasy.com/
- 增强for循环
泛型的概念对于java 并不陌生 。 所谓的协变和逆变其实有点类似于类型转换的 , 虽然不准确,姑且这么理解,毕竟是概念上的东西。