- 博客(50)
- 收藏
- 关注
原创 一些常用滤镜的实现思路
一些常用滤镜的实现思路1.什么是颜色? 早在17世纪,颜色的本质是牛顿最早通过三棱镜的试验发现的。牛顿通过三棱镜研究对白光的折射就已经发现了白光可以分解成一系列从紫色到红色的一系列连续光谱。从而证明了白光是由不同的颜色的光线混合而成的。“ 正确得讲,光线并不是彩色的。” --牛顿颜色是人的视觉系统对可见光的感知结果,感知到的颜 色由光波的波长决定视觉系统能感觉的波长范围为380~780nm。颜色,其实本身不是一个物理意义的概念,其实是人的感知,因为彩色仅仅
2021-06-11 19:06:12
591
原创 计算机图形学系列
计算机图形学总览在学习计算机图形学之前,先看看一些相关的学科,分别是:计算机视觉(CV):是图形学的逆过程,分析和识别输入的图像,并从中提取二维或者三维的数据模型,简单理解为,一切需要猜测的东西,数字图像处理(DIP):图像的数字画表示,研究如何对一幅连续图像取样、量化以产生数字图像。计算机图形学(CG):研究怎么用数字计算生成、处理和显示图形的一门学科。图形学课程学习课程总览:光栅化(扫描转换,裁剪,反走样,消隐)几何造型(曲线曲面造型,实体造型)真实感图形学
2021-01-25 22:57:19
380
原创 图像处理基础之颜色
介绍颜色“ 正确得讲,光线并不是彩色的。” --牛顿颜色与我们的衣食住行息息相关。 人类对外界的感知,80%以上的信息来自视觉器官,色彩是给人的第一视觉印象。 在观察物体时,人的视觉神经首先对色彩反映最快,其次是形状和 空间位置,最后才是物体表面的细微层次颜色的定义: 我国国家标准规定如下:色-光作用于人眼引起除形象以外的视觉特性,颜色是物质世界的光波刺激人眼 而在大脑所产生的心理感受。一切从光说起光的本质:光:能够在人眼的 视觉系统上引起明亮的
2020-09-03 12:12:55
807
原创 GLSL内置数学函数部分解析
阶跃函数阶跃函数step函数:Generate a step function by comparing two valuesFor element i of the return value, 0.0 is returned if x[i] < edge[i], and 1.0 is returned otherwise.edge specifies the location of...
2020-04-12 13:23:11
3566
原创 计算机图形学入门OpenGL
计算机图形学openGL计算机图形学:(Computer Graphics, 简称CG)简单得说:计算机图形学是一种使用数学算法将二维或者三维图形转化为计算机显示器所能显示的二维栅格形式的科学。Modeling(建模):构造场景的三维模型。Rendering(渲染):将三维场景绘制在屏幕上。3D model -》2D image的逐像素绘制;逐面片绘制:模型由许多面片(polyg...
2019-07-30 19:49:05
6326
1
原创 Cmake Language
Cmake languageCmake documentation:https://cmake.org/cmake/help/latest/manual/cmake-commands.7.htmlControl flow:if**() / elseif() / else() / endif()foreach() / endforeach()while() / endwhile()bre...
2019-04-05 16:40:25
519
原创 计算机图形学笔记
计算机图形学学习目的:1.了解图形学系统的框架以及其涉及的软硬件技术2.掌握图形学的基本概念,方法,算法,思想。3.培养编程能力处理彩色图像颜色的属性:###1.色相色相(Hue)即色彩的面貌,色相的区别是由光波波长的长短决定的。原色间色复合色###2.亮度亮度也称为透明度(brightness)###3.纯度纯度(purity)也称为饱和...
2019-02-15 22:23:46
431
原创 C语言的关键字
C语言的关键字有32个;auto:声明自动变量,缺省时编译器一般默认为autoint:声明整型变量double:声明双精度变量long:声明长整型变量char:声明字符型变量float:声明浮点型变量short:声明短整型变量signed:声明有符号类型变量unsigned:声明无符号类型变量struct:声明结构体变量union:声明联合数据类型enum:声明枚举类型...
2019-02-15 22:21:37
201
原创 GLSL优化策略
GLSL优化策略前言:在写通用滤镜效果的时候,一个好的shader,特别是在低端机上跑效果,性能往往会有很大的提升,那么,就很有必要学习一下GLSL shader性能优化的策略。下面整理了一些优化的策略。1.延迟vector计算。例如:不好的用法: highp float f0,f1; highp vec4 v0,v1; v0 = (v1 * f0) * f1;...
2019-02-15 22:20:32
2996
1
原创 lua学习笔记
lua学习笔记lua是一门用来支持通用程序设计的扩展语言,同时,它也为面向对象编程,函数式编程,数据驱动式编程,提供提供了一个很好的支持。特别地,作为可嵌入脚本语言提供任何需要的程序使用。lua是C语言实现的一个库,是C和C++标准的通用子集。lua有8大基础类型:nil:nil is the type of the value nilboolean:the type of the va...
2019-02-15 22:11:14
222
原创 lua代码风格
lua代码风格命名:命名驼峰命名法:小驼峰式命名法:第一个单字以小写字母开始;第二个单字的首字母大写,例如:firstName、lastName。大驼峰式命名法:每一个单字的首字母都采用大写字母,例如:FirstName、LastName、CamelCase,也被称为Pascal命名法。下划线命名法小下划线命名法:所有字母均为小写,例如登录按钮:login_btn。大下划...
2019-02-15 19:00:51
556
原创 Object-C学习笔记
简介:这是一门面向对象编程:面向对象快速总结:最重要的核心是:对象把状态和行为包含在一个class里面.m是Object-C已编译类的后缀#What is ios?ios系统的Unix操作系统,基于BSD的Unix版本##Cocoa Touch触控应用层,是UI层,包括:Multi-TouchAlertsCore ModtionWeb ViewView Hierarch...
2019-02-06 21:29:50
415
原创 关于构图
三分法构图:遵循黄金分割原则将拍摄物放在横线或者竖线相交的位置,然后保值地平线和水平线的平行构图:鲜明的主题吸引注意的主体画面简洁画面的选择基本要素:点线面中心式构图三角形构图水平线构图法:观光摄影,景物呈现出横线的形式垂直线构图:把垂直的物体防止画面的主要位置斜线构图:引导作用曲线构图:通常用于河流道路人像等题材前景与背景的选择:前景的一个相对概念,位于主体之前背...
2019-02-04 14:40:35
317
原创 FishHook学习笔记
什么是Hook?Hook(钩子),是改变程序运行流程的一种技术。IOS中Hook的几种方式method Swizzle(oc函数)fishhook(C函数)Cydia Substrate(OC,C,函数地址)##FishHook学习笔记##使用到的技术利用dyld相关接口,我们可以注册image装载的监听方法:extern void _dyld_register_func_...
2019-01-15 21:13:16
397
原创 C++进阶笔记
C++进阶笔记C++:C++语言C++标准库推荐书籍:《Effective C++》《C++ primer》《STL源码剖析》C:Type(built-in,struct)dataFunctionC++ 面向对象数据和函数包在一起,数据有很多分,函数只有一份。以此创建对象。class,struct例子1,复数complex c1(2,1);complex c2...
2019-01-15 21:12:07
649
原创 OpenCV学习笔记
OpenCV学习笔记##图像显示在新版OpenCv当中,图像显示只需要使用imread函数载入到数据结构Mat类中,然后用imshow函数显示即可。其中imread函数支持的图形格式有:windows位图:*.bmp, *.dibJPEG文件:*.jpeg, *.jpg, *.jpeJPEG2000文件:*jp2PNG图片:*.png便捷文件格式:*.pbm, *.pgm, *....
2019-01-15 21:08:51
445
原创 关于链接,装载,库
1、关于硬件,操作系统,线程 计算机的核心硬件有: 1. 中央处理器CPU 2. 内存 3. I/O控制芯片 由于早期的计算机没有很复杂的图形功能,CPU的核心频率也不高,跟内存的频率一样,他们都是直接连接在一个总线(BUS)上的。 如图是早期计算机硬件结构: 。。page6 2、关于静态链接 3、关于装载与动态链接 4、关于库与运行库...
2018-06-28 22:47:39
235
原创 SpringBoot gradle项目集成swagger
SpringBoot gradle项目集成swagger1.简介以及原理简介: Java库的Springfox套件全部是关于使用spring项目编写的JSON API自动生成机器和人类可读的规范。Springfox的工作原理是在运行时检查应用程序,以便根据弹簧配置,类结构和各种编译时间的Java注释来推断API语义。 Swagger是一个规范和完整的框架,用于生成、描述、调用和可视
2018-01-26 17:38:59
9715
9
原创 C语言数据结构的一些值得注意的知识点
1)关于引用1. 什么是“引用”?申明和使用“引用”要注意哪些问题? 答:引用就是某个目标变量的“别名”(alias),对应用的操作与对变量直接操作效果完全相同。申明一个引用的时候,切记要对其进行初始化。引用声明完毕后,相当于目标变量名有两个名称,即该目标原名称和引用名,不能再把该引用名作为其他变量名的别名。声明一个引用,不是新定义了一个变量,它只表示该引用名是目标变量名的一个别名,它本身不是一种
2017-08-29 22:29:33
636
原创 单链表、双链表、循环链表和静态链表以及相应习题习题
一、单项选择题1.关于线性表的顺序存储结构和链式存储结构的描述中,正确的是( )。 Ⅰ.线性表的顺序存储结构优于其链式存储结构 Ⅱ.链式存储结构比顺序存储结构能更方便地表示各种逻辑结构 Ⅲ.如频繁使用插入和删除结点操作,顺序存储结构更优于链式存储结构 Ⅳ.顺序存储结构和链式存储结构都可以进行顺序存取A. Ⅰ、Ⅱ、Ⅲ B. Ⅱ、Ⅳ C. Ⅱ、Ⅲ D. Ⅲ、Ⅳ2.对于一个
2017-08-26 22:19:57
10963
原创 严蔚敏数据结构(C语言版)理解以及部分习题
第一章 绪论《数据结构》考试知识点 第一章 绪论 1、数据结构中有关数据、数据元素、数据项、数据结构等基本概念,特别是数据的逻辑结构和存储结构之间的关系 2、类C语言的规范书写 3、算法的定义及其特性 4、计算语句频度和估算算法时间复杂度 1.关于数据的逻辑结构:线性结构 1)一般线性表 2)受限的线性表(队列和栈,串) 3)线性表推广(数组,广义表)
2017-08-23 21:45:06
879
原创 学生工作管理系统(C语言实现)
1.需求分析 学生信息管理系统是针对学校人事处的大量业务处理工作而开发的管理软件,主要用于学校学生信息管理,总体任务是实现学生信息的系统化、科学化、规范化和自动化,其主要任务是用计算机对学生的各种信息进行日常管理,如查询、增加、显示、删除,另外还考虑到学生的选课情况,针对这些要求来设计学生信息管理系统。1.设计和实现线性表的数据结构。2.基于1所设计的线性表数据结构,实现线性表的初始化、插入、删
2017-06-29 00:09:09
7845
2
原创 使用python实现用微信远程控制电脑
首先,我们要先看看微信远程控制电脑的原理是什么 要怎么实现通过微信发送命令到电脑当中实现呢? 我们可以利用Python的标准库控制本机电脑,然后要实现远程的话,我们可以把电子邮件作为远程控制的渠道,我们用Python自动登录邮箱检测邮件,当我们发送关机指令给这个邮箱的时候,若Python检测到相关的指令,那么Python直接发送本机的相关命令。 下面来分析一下该项目: 1.需求分析 1.范
2017-06-26 00:09:41
9642
4
原创 基于ZigBee的物联网环境数据采集系统
1.概述 鉴于ZigBee技术适合用于数据采集系统的的特点, 提出了基于ZigBee的数据采集系统的设计方案, 着重探讨ZigBee节点的硬件设计及其组网设计. 并详细讨论了基于CC2530芯片的数据采集节点的硬件设计方案, 组网设计中的协调器建立网络、节点加入网络的设计方法, 以及数据采集系统的软件设计方法. 最后通过采集ZigBee网络传感器数据的实验, 证明该方案能取得良好的通信效果.
2017-06-15 00:04:08
37460
28
原创 嵌入式linux网关程序
实现的功能:使用linuxC语言通过串口编程和Socket编程,以及解析从串口收到的数据,并且把数据封装成http格式通过post方式可以实现远程发送数据到服务器,并且能够接收服务器发送过来的命令。 关于HTTP请求报文格式 关键代码如下:#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.
2017-06-14 00:04:39
3769
原创 安卓记事本实验报告
目录1 系统需求分析……………………………………………………………………………………………2 1.1 系统介绍……………………………………………………………………………………………..2 1.2 系统的功能性需求………………………………………………………………………………..2 1.3 软硬件环境需求…………………………………………………………………………………… 2 2. 系统设计………
2017-06-07 23:55:46
8446
2
原创 《C和指针》学习笔记
指针定义一个存储与计算机内存的值的地址,类似于门牌号制定某个特定的家庭位于街道的何处。指针能够赋予C语言强大的威力。 下面是一个简单的使用指针的例子具体功能是重新排列字符串:/*============================================================================Name : Pointer_Advanced.c
2017-04-11 13:19:27
329
原创 TensorFlow在windows10下的安装
TensorFlow,是google开发的一款神经网络的python外部的结构包,使用TensorFlow可以很快速地学习神经网络。 关于TensorFlow的安装: 下面先介绍下在Windows10系统中通过anaconda安装TensorFlow: 1、首先下载水蟒anaconda下载地址是:https://www.continuum.io/downloads/,选择python3.5版本
2017-04-09 00:07:56
777
1
原创 C++一些容易忽略的知识点
C和C++的区别以及联系:先看下C语言: C语言是一种面向过程的编程语言,是由数据结构和算法组成的C语言程序设计,强调的是运行效率。 1、C语言的历史: *1969至1973年; 美国贝尔实验室;*2、C语言的功能: 结构化程序设计;3、C语言的优点: 高效、灵活,应用领域广泛;4、C语言的缺点: C语言没有自动释放的机制,如果程序员在写程序时忘
2017-03-31 23:33:54
612
原创 QT学习笔记(一)
首先,先来看看什么是Qt呢? Qt是一个跨平台的C++和GUI开发框架,QT是一个1991年由奇趣科技开发的跨平台图形用户界面应用程序开发框架。广泛用于开发GUI程序,这种情况下又被称为部件工具箱。也可用于开发非GUI程序,比如控制台工具和服务器。它是Digia公司的产品。QT使用标准的C++和特殊的代码生成扩展(称为元对象编译器(Meta Object Compiler, moc))以及一些宏。
2017-03-30 22:04:35
399
原创 Linux 平台搭建C语言集成开发环境(Ubantu16.04)
关于ubantu自带的编译器有Gcc和G++,那么我们来分别看一下G++和Ccc:gcc:编译C语言 g++:编译C++语言我们先认识一款非常强大的文本编辑器:Sublime Text, Sublime Text是由程序员Jon Skinner于2008年1月份所开发出来的,它最初被设计为一个具有丰富扩展功能的Vim。Sublime Text是一个代码编辑器(Sublime Text 2是收
2017-03-14 00:02:37
6373
原创 C语言学习笔记(一)
C 语言是一门高级计算机编程语言,设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。尽管 C 语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的 C 语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器以及超级电脑等作业平台。所以我们很有必要学好C语言。 一、关于computer和person之
2017-03-13 21:00:51
388
原创 Hadoop概述
1.关于hadoop的历史首先我们认识一下人称hadoop之父的 Doug Cutting,他是Apache软件基金会的主席,主导了多个开源项目,hadoop就是其中的一种。hadoop来源于Google在2004年发布的两篇重要论文: Google File System和MapReduce:Simplified Data Processing on Large Clusters即谷歌分布式文
2017-03-11 16:19:20
564
原创 GIt常用基本操作
GIthub,是一个代码托管的服务提供商,也是一个巨大的开源社区。如今,越来越多的开源项目挂载在github上,那么我们就很有必要学习一下git的基本使用,下面介绍一下git的安装与使用。 关于Git的安装与简单配置(基于windows系统)1、Git的官方网站:https://git-scm.com/下载地址:https://git-scm.com/download/win下载完之后直接下一步
2017-03-10 21:32:14
3418
原创 hadoop搭建三个节点(基于完全分布式)
一、Hadoop单个节点初始配置环境: Win10系统装虚拟机: 虚拟机VMware-workstation-full-10.0.0-812388.exe Linux系统 : Ubuntu16.04 JDK : openjdk-8-jre openjdk-8-jdk或者其它版本搭建步骤: 1. 首先在win10系统装虚拟机,执行VMware-w
2017-03-05 22:27:02
13657
1
原创 泛型
首先,我们要知道的是,一般的类和方法,只能使用具体的类型:要么是基本类型,要么是自定义的类。如果要编写可以应用于多种类型的代码,这种刻板的限制对代码的束缚就会很大。 在面型对象的编程语言中,多态算是一种泛华的机制。
2016-09-20 15:29:06
212
原创 常用的实用类(Scanner类、Date类、Canlendar类)
两个不同的写法: 1、使用默认分隔标记解析字符串:package Example28;import java.util.InputMismatchException;import java.util.Scanner;public class Application { public static void main(String[] args) { String cost
2016-09-01 11:59:28
800
原创 内部类、异常类、异常类
我们已经知道,类可以有两种重要成员:成员变量和方法,实际上,Java还允许类可以又一种成员:内部类。 Java支持在一个类中定义另一个类,这样的类称作内部类,而包含内部类的类称为内部类的外嵌类。 内部类和外嵌类之间的重要关系如下: 1、内部类的外嵌类的成员变量在内部类中仍然有效,内部类中的方法也可以调用外嵌类中的方法。 2、内部类的类体中不可以声明类变量和类方法。外嵌类的类体中可以用内部类声
2016-08-30 00:36:50
1537
原创 接口与实现
接口的定义和类的定义很相似,可以分为接口声明和接口体积,和类不同的是,使用关键字interface来声明自己是一个接口。 格式如下; interface 接口的名字 这里需要注意的是: 1、如果一个非抽象类实现了某个接口,那么这个类必须重写这个接口中的所有方法。 2、如果一个类声明实现一个接口,但是没有重写接口中的从所有方法,那么这个类必须是抽象类,也就是说抽象类既可以重写接口中的方法,也
2016-08-27 20:30:03
9474
原创 super、final、abstract关键字、以及面向抽象编程的一些注意点
super 1用super操作被隐藏的成员变量和方法 2.用super调用父类的构建方法final 可以使用final将类声明为final类。final类不能被继承abstract对于abstract方法,只允许声明,不允许实现(没有方法体),而且不允许使用final和abstract同时修饰一个方法或者类,也不允许使用static修饰abstract方法,(具体是为什么呢?原因是如果一个非抽
2016-08-27 16:46:40
724
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人