跳转到主要内容

博客

OpenGL学习——颜色的选择

OpenGL支持两种颜色模式:一种是RGBA,一种是颜色索引模式。

无论哪种颜色模式,计算机都必须为每一个像素保存一些数据。不同的是,RGBA模式中,数据直接就代表了颜色;而颜色索引模式中,数据代表的是一个索引,要得到真正的颜色,还必须去查索引表。

<strong>1. RGBA颜色</strong>

RGBA模式中,每一个像素会保存以下数据:R值(红色分量)、G值(绿色分量)、B值(蓝色分量)和A值(alpha分量)。其中红、绿、蓝三种颜色相组合,就可以得到我们所需要的各种颜色,而alpha不直接影响颜色,它将留待以后介绍。

在RGBA模式下选择颜色是十分简单的事情,只需要一个函数就可以搞定。

扒一扒自动驾驶车辆激光雷达的部件功能

据外媒报道,自动驾驶车辆配置的多款摄像头,旨在用该设备探查道路上的障碍物并绘制车辆周边环境。在各类传感器中,在功能方面,激光雷达传感器与人眼最为接近,其光探测和测距系统(detection and ranging system)与雷达类似,但其采用了光波替代了无线电波(radio waves)。

激光雷达系统利用激光脉冲信号“照亮(illuminate)”目标区域,并计算反射信号返回接收器的用时。该类系统由光源、光电探测器、数据处理电子器件及运动控制设备。

图像处理算法——图像常用操作

图像处理基本算法操作从处理对象的多少可以有如下划分:
1. 点运算:处理点单元信息的运算
2. 群运算:处理群单元 (若干个相邻点的集合)的运算

改变世界的十位算法大师

算法是整个计算机科学的基石,是计算机处理信息的本质。 从开创算法分析这一领域的高德纳、Amazon的“首席算法官”乌迪·曼伯尔,到发明快速排序算法托尼.霍尔,本文介绍了对AI、以及整个计算领域影响深远的十位算法大师。

【Unity编程】Unity中关于四元数的API详解

<font size="3"><strong>Quaternion类</strong></font>

Quaternion(四元数)用于计算Unity旋转。它们计算紧凑高效,不受万向节锁的困扰,并且可以很方便快速地进行球面插值。 Unity内部使用四元数来表示所有的旋转。

Quaternion是基于复数,并不容易直观地理解。 不过你几乎不需要访问或修改单个四元数参数(x,y,z,w); 大多数情况下,你只需要获取和使用现有的旋转(例如来自“Transform”),或者用四元数来构造新的旋转(例如,在两次旋转之间平滑插入)。

一文读懂区块链技术六大核心算法

近日,在加密货币经历“混乱时期”后,区块链再次火爆起来,受到了各方的极大关注与重视,成为资本市场和各领域关注的焦点,就连朋友圈中的探讨和分享也让人目不暇接。那么,区块链到底是个什么鬼?区块链的核心算法又有哪些?

<font color="blue"><strong>区块链核心算法一:拜占庭协定</strong></font>

【深度学习】L1正则化和L2正则化

在机器学习中,我们非常关心模型的预测能力,即模型在新数据上的表现,而不希望过拟合现象的的发生,我们通常使用正则化(regularization)技术来防止过拟合情况。正则化是机器学习中通过显式的控制模型复杂度来避免模型过拟合、确保泛化能力的一种有效方式。如果将模型原始的假设空间比作“天空”,那么天空飞翔的“鸟”就是模型可能收敛到的一个个最优解。在施加了模型正则化后,就好比将原假设空间(“天空”)缩小到一定的空间范围(“笼子”),这样一来,可能得到的最优解能搜索的假设空间也变得相对有限。有限空间自然对应复杂度不太高的模型,也自然对应了有限的模型表达能力。这就是“正则化有效防止模型过拟合的”一种直观解析。

智能门锁行业发展迅猛 依然存在诸多隐患

近两年,智能家居产品一反以往“不瘟不火”的状态,正在呈现快速发展的态势,首先受益于互联网信息技术的发展,产品呈现更多样化,更易于操作,体验性越来越好。另外伴随着互联网的发展而成长的80后90后,已逐渐成为主流的消费人群,他们面临不同生活场景,在家居、出行、医疗等方方面面,更倾向于使用智能化产品。

同时物联网技术打破了“信息孤岛”效应,智能硬件从单品爆发向万物互联模式发展,智能家居系统逐渐完善。另外,宏观利好因素正促进中国智能家居行业的快速发展及渗透。易观对2017年中国智能家居产业进行PEST分析:

2016年,中国智能家居市场规模达到1140亿,2017年达到1404亿,同比增加23.2%,预计到2019年将突破1950亿元人民币。

<strong>智能门锁一骑绝尘</strong>

如何成为一名黑客(网络安全从业者)——网络攻击技术篇之扫描技术

网络攻击技术按照攻击流程可以分为3个阶段:攻击前的准备阶段、网络攻击阶段、成功入侵后的控制阶段。今天我们先介绍”攻击前的准备阶段——扫描技术“。

<font size="3"><strong>攻击前的准备阶段——扫描</strong></font>

在这个阶段,攻击者通过各种收集手段收集目标主机的信息,主要利用的是搜索引擎和扫描技术。通过外围信息收集和多种扫描技术,可以获得目标的IP地址、端 口、操作系统版本、存在的漏洞等攻击必需信息,为下一步的网络攻击做好前期的准备。具体来说,可以采用如下手段:

<strong>1、外围信息收集的方式</strong>

(1)使用Whois查询域名注册的相关信息

浅谈网络语音技术

当我们使用像Skype、QQ这样的工具和朋友流畅地进行语音视频聊天时,我们可曾想过其背后有哪些强大的技术在支撑?本文将对网络语音通话所使用到的技术做一些简单的介绍,算是管中窥豹吧。

<font size="3"><strong>一、概念模型</strong></font>

Android 视频播放器 (二):使用MediaPlayer播放视频

在《Android 视频播放器 (一):使用VideoView播放视频》我们讲了一下如何使用VideoView播放视频,了解了基本的播放器的一些知识和内容。也知道VideoView内部封装的就是MediaPlayer,本文就介绍如何使用MediaPlayer播放视频。

<font color="#33b1c8"><strong>一、简介</strong></font>

MediaPlayer是Android中的一个多媒体播放类,其提供的API能满足简单的大部分音视频的播放需求。

下面简单介绍一下MediaPlayer:

想开发VR游戏?你需要注意这些东西

开发VR游戏很难吗?有些人会说是,但在HTC虚拟现实新科技部门副总经理鲍永哲看来,VR游戏的门槛并不比一般的游戏高。“据我所了解,做PC游戏的团队做VR,从技术来讲,难度不高,难的是创意”,他说。

先不说是不是真的如此,VR作为一个新的平台,它有新的硬件,新的体验,对于想进入或是已经开始VR游戏开发的团队来说,有些与传统游戏开发不同的地方或许可以提前了解一下如何应对。

<strong>如何让玩家不晕?</strong>

在现实世界中,如果你突然转头,但周围的画面过了1秒钟才显示出来,这时你的大脑是不会将画面和头部运动联系起来的,如果你不停地转,很快就会晕到吐。在虚拟现实中,我们要尽量避免这种情况出现。针对这点VR开发者可以参考以下几条建议。

GPU屏幕渲染——离屏渲染

<font size="3" color="Purple"><strong>一、概念理解</strong></font>

OpenGL中,GPU屏幕渲染有以下两种方式:

<font color="Purple">&nbsp; ○&nbsp;</font> On-Screen Rendering
意为当前屏幕渲染,指的是GPU的渲染操作是在当前用于显示的屏幕缓冲区中进行。

一文带你了解ADAS都有哪些系统!

ADAS(Advanced Driving Assistant System)即高级驾驶辅助系统。

ADAS 是利用安装于车上的各式各样的传感器,在第一时间收集车内外的环境数据, 进行静、动态物体的辨识、侦测与追踪等技术上的处理, 从而能够让驾驶者在最快的时间察觉可能发生的危险, 以引起注意和提高安全性的主动安全技术。

ADAS 采用的传感器主要有摄像头、雷达、激光和超声波等,可以探测光、热、压力或其它用于监测汽车状态的变量, 通常位于车辆的前后保险杠、侧视镜、驾驶杆内部或者挡风玻璃上。

早期的ADAS 技术主要以被动式报警为主,当车辆检测到潜在危险时, 会发出警报提醒驾车者注意异常的车辆或道路情况。对于最新的ADAS 技术来说,主动式干预也很常见。

关于Cocos2d-x中物理世界的物体乱跳的问题的解决

这是电脑短时间内帧率低,无法满足游戏配置的帧率引起的。

解决方法:

<strong>第一种:</strong>

1.打开AppDelegate.cpp文件

2.把director-&gt;setAnimationInterval(1.0 / 60);改为 director-&gt;setAnimationInterval(1.0 / 50);或者更低一点。

这样游戏性能会有些许的下降,就是游戏会变的卡一点,但是物体不会乱跳,在真机上运行,我相信不会出现乱跳的情况。所以等开发完后再把帧率调回来。

<strong>第二种:</strong>

物联网常见定位技术的优缺点

万物互联的时代也是数据为王的时代,然而在很多时候,没有对应的位置信息就意味着数据是“杂乱无章”的,可利用的价值就会大大降低。随着物联网行业这两年的蓬勃发展,定位技术在各种物联网应用场景的需求也大大提升,以下就为大家介绍几种室内外的定位技术。

<font color="#33b1c8"><strong>1、射频识别室内定位技术</strong></font>

机器视觉中不同类型光源的不同打光方式的效果探究

有经验的机器视觉工程师都会认可这样一句话:机器视觉项目的成败在于能否得到一张打光优秀的图片。如果采集到的图片本身“质量”很差,那么接来下的图像处理工作就会困难重重。

由于项目的需求以及光源厂商的努力,目前机器视觉光源的类型可以说十分丰富,例如条光、背光、平行背光、同轴光、点光、隧道光、碗光、环形光、球形光、条形聚光等。根据光的波长和颜色,又可以分为X光、蓝光、红光、白光、红外光等。

网上关于光源选型方面的资料多如牛毛,我不想再重复,我想说点其他的。

在光源大家族中,有一种光最为灵活多变,它就是环形光。环形光有低角度环形光、高角度环形光等不同类型,例如0°环形光、30°环形光、45°环形光、60°环形光、90°环形光等。

老程序员解Bug的通用套路!

千万不要当程序员面说有bug!对于新手程序员而言,在复杂代码中找BUG是一个难点。下面我们总结下老从程序员解Bug的通用套路,希望对大家有帮助。

<strong>1. IDE调试</strong>

根据项目特点和语言特点选择一个最合适的IDE,由于本人是做C++出身,最喜欢用的莫过于Visual Studio 了,这款微软开发的IDE,自从研发出来,就被称为宇宙第一编译器,能编译调试C/C++、C#、F#、Python、JavaScript、Qt、iOS等多种语言的开发。目前的VS2017还原生支持远程跨平台的软件开发,这无疑给我们常年奋战在linux/Unix黑匣子开发环境,使用G++调试的C/C++程序猿们带来了福音。

Android OpenGL ES 开发(十): 通过GLES20与着色器交互

<font color="#33b1c8"><strong>1. 获取着色器程序内成员变量的id(句柄、指针)</strong></font>

GLES20.glGetAttribLocation方法:获取着色器程序中,指定为attribute类型变量的id。
GLES20.glGetUniformLocation方法:获取着色器程序中,指定为uniform类型变量的id。

高清语音技术(WBS)及其在手机和蓝牙耳机中的实现

高清语音也被称为宽带语音,是一种能为蜂窝网络、移动电话和无线耳机传输高清、自然语音质量的音频技术。与传统的窄带电话相比,高清语音很大程度上提高了语音质量,减少了听觉负担。

通信产业链上的所有网络和设备都需支持高清语音才能体现出该技术的优点。到2011年6月为止,18个国家运营的20种蜂窝网络,以及33家领先的手机品牌都已支持高清语音。通过部署自适应多速率宽带(AMR-WB)语音编码,GSM, WCDMA(UMTS)和LTE蜂窝网络中已经引入了高清语音。此外, 通过使用改良的子带编码(mSBC)语音编解码技术,无线蓝牙耳机也开始支持高清语音,将免提通话与高语音质量结合在了一起。