- New和Delete自动调用构造函数和析构函数
- <u>封装</u>:将数据和算法捆绑成一个整体,这个整体就是对象,描述对象的数据被封装在其内部。
- <u>继承</u>:指一种事物保留了另一种事物的全部特征,并且具有自身的独有特征。
- <u>多态</u>:当多种事物继承自一种事物时,同一种操作在它们之间表现出不同的行为。
- 对象:一个实际概念(实物)
- 类:一个抽象概念(类型或属性)
- 类的实例化生成对象,对象的抽象化生成类
- 一个对象可以包含多个类,一个类只能对应一个实例对象
- 动态空间申请使用New和不使用
-
创建需要指针接收,一处初始化,多处使用
创建在<u>堆空间</u>,使用广泛可作为参数和返回值
频繁调用不适合New,一边作为全局变量使用
- 在函数内被定义之后数值保持不变
- 模块内函数外,表示本地全局
- 修饰函数,智能在本地调用,并且使用extern也不能跨文件调用
- 类内定义static,只能在类外初始化,不能在类内初始化
- 不能使用this调用,因为属于当前文件而不是属于当前类
设置一个Thred,设本次采样值为V1,上一次采样为V
差值大于阈值就等于上一次采样,否则等于自身
取上下左右拐角点+当前值得到中值V1
取上下左右+中间值得到中值V2
核心是使用正太分布,利用估计的正太分布和确定的正态分布去计算当前的正太分布
值域核函数+空间域核函数
3.编写高通滤波器和直方图均衡化?
4.自己论文或者项目使用的算法细节
就是sin()函数和傅里叶函数的乘积
带宽:高斯方差:2pi
四个特征:能量、熵、逆方差、相关性
特征可视化:使用5X5,步长为1的掩膜,计算5X5的特征
类型:亮点、暗点与色点三类
特点:比周围点亮很多的坏点 、比周围点暗很多的坏点、没有提供一个正确的像素值,但是并没有比周围点特别亮或者特别暗的像素
坏点和噪点的区别:噪点不确定性,坏点是固定的,颜色不确定
检测坏点:avg=sum(*),dif=(次max点 - 次min点),范围avg±dif,出了这个范围即定义为坏点
连续多帧判断,如果50%以上都出现这样的情况,就判断为坏点,否则为噪点,使用中值滤波去除。
- 运动估计,找出最优运动向量
主要思想是这样的:在第一帧图像中选择一块特征明显的纹理Patch,然后在随后的每一帧图像中找到与该纹理Patch最相似的Patch,然后将找到的Patch“钉”到第一帧Patch的所在位置上。
- 运动补偿,根据运动向量补偿当前帧,去除抖动。
利用陀螺仪找到核函数,然后进行透视变换
-
其中opencv进行了代码优化
-
权值计算方法使用三次多项式4X4个点
16.常用边缘检测算子
1.设计一个OCR引擎
- PCA降维度、白化(维度归一化):
- 假彩色:不同波段的色彩表示(YUV)
- 伪彩色:灰度到RGB的映射
- 设定一个阈值T,分割背景A和目标B
- 使用八领域进行判断标准
- (a)在高斯模糊的时候可以采用分离高斯卷积,这样可以更好的保留边缘细节。
构建高斯金字塔(图像大小不会变化,相同层核系数不同,不同层核大小不同)
特征点检测(二阶高斯使用盒滤波器代替计算Hessian矩阵)
特征描述子(利用Harr小波特征计算描述子,利用积分图计算Harr小波,4X4X4)
特征点匹配(不仅计算欧氏距离,还增加了一个Hessian矩阵的迹,如果方向相反则一定不匹配)
使用一阶泰勒公式展开,然后计算矩阵的特征值
利用相机标定取纠正图像