- 博客(12)
- 收藏
- 关注
原创 Mat的基本操作
1 创建Matopencv提供的创建Mat的方法有很多,这里提两种比较常用的。1.1 使用Mat)构造函数cv:Mat M1(2,2,CV_8UC3,Scalar(0,0,255))这个函数的意思是:创建了一个名为M1的Mat,该Mat的尺寸为2*2,类型为CV_8UC3,即8位uchar类型,该Mat通道数为3,这个mat的每一个元素包含了3个通道或者说3个数值。然后用0, 0, 255为每一个元素赋值。这里8位uchar型的取值为0-255,实际上如果一个Mat是用来表示RGB图像的时候应该
2021-06-20 22:03:13
697
转载 std::for_each的用法
https://blog.csdn.net/asd1230123dsa/article/details/83793583
2021-06-20 18:36:31
206
原创 ISP Pipeline ISO&快门&光圈&曝光
ISO&快门&光圈&曝光AE 也跟lens的透光率和光圈有所关系,硬件是固定的,所以需要通过软件调整增益。光圈越大,通光量就会越多,得到的亮度就越多,那sensor的感光性就会比较充足,那整体图片的亮度就会用比较小的ISO,然后得到一个正常的亮度,但是光圈越大的话,景深就会比较小,光圈越小的话,景深就会比较大,但是它的通光量就会比较少。那对于shutter来说,曝光时间越长,就代表你的帧率越低,曝光时间就基本约等于倒数的关系,曝光时间越长那么你的帧率就会受到影响,那在拍照时对于一
2021-06-06 20:59:12
1598
原创 ISP Pipeline AE
1 AEC简述人眼是有自动调节功能,sensor是没有调节功能的,环境的亮度可以通过人眼来适应,因此人眼的亮度总是合适的。人眼是非线性化的,而相机是线性化的。相机视觉的亮度取决于曝光设置。除非曝光改变到合适的曝光设置,否则相机的亮度不合适。自动曝光,AE,发挥作用,适当的曝光设置会自动修改。1.1 AEC原理由Sensor统计当前环境的亮度信息(取帧),AEC算法将输入的RAW图分为M* N个Region,然后统计每个Region的亮度,最后做加权平均得到一个当前亮度值cur_luma。cur_
2021-06-06 20:54:04
3184
2
原创 ISP Pipeline AWB
2 AWB简述2.1 白平衡概念通俗地来讲,白平衡就是:不管在任何光源下,都能将拍摄的白色物体的图像还原为白色。在特定光源下拍摄时出现的偏色现象,通过加强对应的补色来进行补偿实现白平衡。人类视觉系统具有颜色恒常性特点,人类对物体观察不受光源影响。但是Sensor在不同光线下,感知到的物体呈现的颜色不同,在晴朗天空下会偏冷色调,在烛光下会偏暖色调。白平衡的目的就是消除不同光源造成的色彩偏差,使得拍摄出来的照片尽量符合人眼的习惯。camera sensor在不同光源下对颜色的响应,如下图所示:白色在
2021-05-29 22:18:49
4211
5
原创 C,C++根据空格进行分割字符
之前根据CSDN上一位老哥的code进行运行,结果跑不通,苦思冥想半天,还打算自己写,结果愣是没整出来,后来将partition函数的数组改成用指针表示,结果就OK啦,特此记录!!!partition函数如下:int partition(char *src, char *par, int pos){ int i, j; i = pos; //取到第一个非空格字符 while (*(src + i) == ' ') { i++; }
2021-05-27 17:14:26
731
原创 ISP Pipeline lens shading
关于lens shading,我主要阐述lens shading产生的原因和shading 校正的简单模型,然后通过一个例子说明lens shading调试的注意点。导致shading的几种原因机械安装:luma shadingOptical vignettinglens shadinglens 的各位置和中心的透射率不同 : luma shadinglens 对不同光谱的shift不同 : color shadingIR filterlens 对不同光谱的shift不同 :
2021-05-23 16:40:49
1034
1
原创 ISP Pipeline 黑电平 以及 线性化
camera pipeline基本如下:黑电平(OB)black level产生原因:产生black level原因首先与camera工作原理有关,需要保留电压值很小的暗部细节。camera sensor工作原理:先感应到光信号,接着将光信号转换为模拟信号,再通过A/D转换成数字信号。我们以10bit数据为例,转换成的数字信号则在0~1023的范围内,然而A/D转换器的精度无法将电压值很小的一部分转换出来,从而导致暗态细节损失。这时需人为地给输出信号加一个固定的偏移量,使整体信号值放大,有效保留了电
2021-05-17 22:03:54
3654
1
原创 C++学习_设计一个算法自动找出100以内的素数
用的是穷举法找出1-100间的质数并显示出来,用for循环实现,只需要求到i的算术平方根即可,提高计算效率。# include<iostream>#include <math.h>using namespace std;//用穷举法找出1-100间的质数并显示出来,用for循环实现//只需要求到i的算术平方根即可,提高计算效率namespace printPrimeNumber { void func() { int i, num, n = 1; doub
2021-03-30 21:23:38
893
原创 VS2019中安装及配置OpenCV-4.5.0过程(踩坑指南)
VS2019中安装及配置OpenCV-4.5.0过程(踩坑指南)参考博客:https://blog.csdn.net/Feeryman_Lee/article/details/97704835本来参考的如上的一篇文档进行配置opencv和VS2019的,结果运行失败了,报错为:vs2019 opencv 运行程序显示无法启动程序,找不到对应的exe文件。我猜想是不是我安装有问题和配置有问题,然后就分别进行了两个动作:重新安装+再搜索几篇安装文档,看看是否哪里有疏漏。总结了大概如下两点:安装时注意选
2021-03-24 22:58:36
534
原创 字符设备驱动代码编译流程
字符设备驱动代码编译流程由于刚开始学习驱动开发方面的相关知识,在博客上也参考了大量的博文,但博文中的驱动代码编译过程大都相对简略一些。在这里,我根据自己电脑的工作环境,阐述一个关于字符设备驱动代码编译的详细流程,如果有不足或者需要纠正的地方,欢迎大佬们指出!准备工作安卓包放在对应路径下:连接好端口:1、编写好运行代码本文的运行代码见文章最后,例:chardrv_test。2、去 ...
2019-06-23 18:02:11
471
原创 在海康实习的那段经历
首先,2018年在海康招实习生前,是有双赛(营销和软件类)的,如果你对海康特别向往,可以多参加海康所举办的比赛,拿奖的难度也不大,同时这样也可以省去一些面试流程,何乐而不为呢?因为我是在海康某分部实习的技术支持岗位,海康在全国招实习生的招聘流程大致是一样,分为这几个过程:简历筛选→群面→专业面→offer。参加过双赛的人会有很大的优势,所以如果你真的喜欢这个公司,可以参加一下它家举办的双赛!实...
2018-10-01 09:55:42
4283
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人