- 博客(32)
- 资源 (5)
- 收藏
- 关注
原创 浅谈模组-相机鬼像
常见的比如:G通道的串扰。某些鬼像可能会对图像产生美感的体验,但是大多数的鬼像都会对图像的质量以及算法感知产生比较大的负面影响,因此我们有必要搞清楚产生鬼像的原因,并且将其解决掉。IR片和Lens间的反射,比较典型的时角落红光,其主要原因是光按照不同角度入射IR片时,其截至曲线会发生偏移,导致以IR片和Lens间反射的小角度光入射到IR片时,产生红色的鬼影。除了上述的原因外,还有包括镜筒壁,CMOS的金属排线,PCB板等的反光都会导致鬼影的出现,可以将该部位涂黑来检验是否是该部分的反光导致的。
2025-02-18 15:44:34
443
原创 浅谈模组-MTF
MTF曲线是表征镜头解析力的光学参数之一,同时MTF可以将镜头设计中的一些问题反映出来,因此MTF是厂家衡量镜头的最重要的指标。通常,各个厂家的MTF曲线有各自的绘制方法,当前常见的两种MTF曲线如下(简示),其中一种图例,横坐标为距离image center的距离,纵坐标为MTF值,一般用多条代表不同空间频率的曲线去描绘。平行于镜片的半径并指向中心的是弧矢方向,这个方向测试的MTF曲线称为弧矢曲线,标记为S,另一个与之垂直方向测试的曲线称为子午曲线,标记为M。1.1两种MTF曲线。1.2MTF值的计算。
2024-10-29 21:20:36
823
1
原创 ISP浅谈-Demosaic
一.概念介绍大多数数码相机使用单个传感器阵列加上彩色滤光片捕捉图像,数据通过在黑白 cmos 图像传感器的基础上,增加彩色滤波结构和彩色信息处理模块获得图像的彩色信息, 再对该彩色信息进行处理, 就可以获得色彩逼真的彩色图像。通常把彩色图像传感器表面覆盖的滤波称为彩色滤波阵列(CFA)。虽然有很多不同的cfa模式可用,但是最常见的还是bayer格式。经过在ISP pipeline中cfa处理后得到bayer数据,一般bayer格式有rggb,gbrg/grbg,bggr,rccb等。为了实现图像从.
2022-04-23 17:17:25
7525
原创 浅谈ISP-LSC
一.现象如图所示是拍摄纯灰色卡时shading的具体现象,左侧称为Luma shading,右侧称为color shading。如上右图,局部色偏的问题有很多,相较于black level或者awb等这些global的操作造成整体性的变化,shading correction 和linearization往往是只造成局部区域和某个亮度范围的偏差,本文接下来介绍一下shading correction。二.原因分析2.1 Lumashading原因引起Luma shading的主要原因
2022-03-19 22:53:34
2507
1
原创 浅谈isp-OB
1.WhatisOB or BLCOB(OpticalBlack),是值sensor在没有感光的情况下,内部产生了电流,影响了正常情况下sensor的感光电流,在sensor内部一般有硬件设计来读取对应的OB值,如下图1所示,sensor上预留了一些完全没有曝光的像素,通过读取这些像素值的大小,可以实时得到optical black level。此时,RAW=sensor input -OBC。经过上面的处理,raw数据减少,但是实际AD芯片(模数转换芯片)的精度可能无...
2021-11-07 16:03:50
4525
1
原创 内容说明
我的公众号会继续分享图像处理、人工智能等方面的内容,为了方便更方便的分享和学习,欢迎大家关注我的个人公众号,csdn和公众号也会同时更新哦,谢谢!
2021-02-23 22:37:11
151
原创 图像去噪声总结(一)
一.图像去噪的大致分类1.空间域滤波空域滤波是在原图像上直接进行数据运算,对像素的灰度值进行处理。常见的空间域图像去噪算法有邻域平均法、中值滤波、低通滤波等。2.变换域滤波图像变换域去噪方法是对图像进行某种变换,将图像从空间域转换到变换域,再对变换域中的变换系数进行处理,再进行反变换将图像从变换域转换到空间域来达到去除图像嗓声的目的。将图像从空间域转换到变换域的变换方法很多,如傅立...
2018-10-15 17:50:19
9957
原创 图像算法工程师——面试经验
TCL研究员面试(凉凉) 在接到面试通知后匆忙准备一下面试知识后(由于之前就秋招已经准备了很长时间),就前往了研发中心,HR小姐姐先是简单的了解一下情况之后把我的简历和相关资料交给了技术主管,技术主管看了简历之后开始逐条的询问,主要类容回忆如下:1.为什么要用数字信号处理2.询问了有关项目的问题,对比度是怎么能够实现自适应的调整,在匹配图像时是怎么实现快速匹配的,如何匹配的,对...
2018-10-09 21:13:34
15799
原创 二叉树遍历C++(前、中、后序遍历,层次遍历、深度遍历)
一.使用c++进行前中后遍历,层次和深度遍历(非递归)二.代码#include<iostream>#include<queue>#include<vector>#include<stack>using namespace std;struct TreeNode { int val; struct TreeNode *left;...
2018-10-07 13:02:02
7557
4
原创 对比度调整的各种方法(二)
一.基于视网膜皮层理论的增强(重点讲解MSR)Retinex是一种常用的建立在科学实验和科学分析基础上的图像增强方法,它是Edwin.H.Land于1963年提出的。Retinex也是由两个单词合成的一个词语,他们分别是retina 和cortex,即:视网膜和皮层。Land的retinex模式是建立在以下三个假设之上的:真实世界是无颜色的,我们所感知的颜色是光与物质的相互作用的结果。我们...
2018-08-27 10:39:41
4689
原创 对比度调整的各种方法(一)
一.基于直方图的对比度调整方法1.直方图均衡化直方图均衡化通过使用累积函数对灰度值进行“调整”以实现对比度的增强。直方图均衡化处理的“中心思想”是把原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度范围内的均匀分布。直方图均衡化就是对图像进行非线性拉伸,重新分配图像像素值,使一定灰度范围内的像素数量大致相同。直方图均衡化就是把给定图像的直方图分布改变成“均匀”分布直方图分布。缺...
2018-08-26 21:37:10
27762
原创 图像特征——HOG
一.HOG特征方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子。它通过计算和统计图像局部区域的梯度方向直方图来构成特征。Hog特征结合SVM分类器已经被广泛应用于图像识别中,尤其在行人检测中获得了极大的成功。与其他的特征描述方法相比,HOG有很多优点。首先,由于HOG是在图像的局部方格单元...
2018-08-08 13:27:30
577
原创 图像特征——LBP(Local Binary Pattern)
一.LBP简介LBP指局部二值模式,英文全称:Local Binary Pattern,是一种用来描述图像局部特征的算子,LBP特征具有灰度不变性和旋转不变性等显著优点。它是由T. Ojala, M.Pietikäinen, 和 D. Harwood [1][2]在1994年提出,由于LBP特征计算简单、效果较好,因此LBP特征在计算机视觉的许多领域都得到了广泛的应用,LBP特征比较出名的应用...
2018-08-07 20:56:02
4732
原创 Gabor 特征
一.Gabor 特征的简介Gabor 特征是一种可以用来描述图像纹理信息的特征,Gabor 滤波器的频率和方向与人类的视觉系统类似,特别适合于纹理表示与判别。Gabor 特征主要依靠 Gabor 核在频率域上对信号进行加窗,从而能描述信号的局部频率信息。说到 Gabor 核,不能不提到傅里叶变换。正是靠傅里叶变换,我们才能将信号转换到频率域,才能让Gabor核在频率域去加窗。而在原本的空间...
2018-08-06 21:30:06
35027
5
原创 Haar特征
一.Haar特征特征是计算机视觉领域一种常用的特征描述算子,特征,描述图像的特征,多用于人脸检测、行人检测,等目标检测,Haar-like特征模板内只有白色和黑色两种矩形,并定义该模板的特征值为白色矩形像素和减去黑色矩形像素和。Haar特征值反映了图像的灰度变化情况。例如:脸部的一些特征能由矩形特征简单的描述,如:眼睛要比脸颊颜色要深,鼻梁两侧比鼻梁颜色要深,嘴巴比周围颜色要深等。二.特征...
2018-08-06 18:35:04
6521
转载 激活函数(转)
神经网络之激活函数(Activation Function)本博客仅为作者记录笔记之用,不免有很多细节不对之处。还望各位看官能够见谅,欢迎批评指正。更多相关博客请猛戳:http://blog.youkuaiyun.com/cyh_24如需转载,请附上本文链接:http://blog.youkuaiyun.com/cyh_24/article/details/50593400日常 coding 中,...
2018-08-02 18:16:35
421
转载 softmax函数和softmax_loss
softmax 函数softmax(柔性最大值)函数,一般在神经网络中, softmax可以作为分类任务的输出层。其实可以认为softmax输出的是几个类别选择的概率,比如我有一个分类任务,要分为三个类,softmax函数可以根据它们相对的大小,输出三个类别选取的概率,并且概率和为1。softmax函数的公式是这种形式: Si=ezi∑kezkSi=ezi∑kezkSiSi代表的...
2018-08-02 16:56:28
5711
1
原创 局部响应值归一化(Local Response Normalization,LRN)
LRN是一种提高深度学习准确度的技术方法。LRN一般是在激活、池化函数后的一种方法。 在ALexNet中,提出了LRN层,对局部神经元的活动创建竞争机制,LRN仿造生物学上活跃的神经元对相邻神经元的抑制现象(侧抑制)。好处有以下两点:归一化有助于快速收敛; 对局部神经元的活动创建竞争机制,使得其中响应比较大的值变得相对更大,并抑制其他反馈较小的神经元,增强了模型的泛化能力。在2012...
2018-08-02 16:12:53
802
原创 opencv——分离颜色通道和多通道颜色组合
利用split和merge两个函数数,借助于vector向量类型的channel来实现图像多通道的分离和组合:#include<cv.h>#include<highgui.h>#include<iostream>#include<vector>using namespace cv;using namespace std;int ...
2018-07-31 16:21:04
1080
原创 反向输出链表——利用结构体作为链表元素,vector创建对象简单实现
#include<iostream>#include<vector>using namespace std; struct ListNode { int val; ListNode *next; }; ListNode head = {0,NULL};//申请全局变量,初始化头结点,这点很重要,读链表数据时也从此处读取。 void insert...
2018-07-22 20:41:52
491
原创 c++二维数组作为形参传递参数
在写代码时,有时涉及到二维数组的形参传递,这个问题很小,但是当解决不好时可能会导致程序编写的复杂程度。因此有必要在这里重说一下:1.《C++ Primer》中给出的方法:void func1(int iArray[][10]) { } int main() { int array[10][10]; func1(array);...
2018-07-20 21:56:37
10741
原创 几种常用的查找元素方法
几种常用查找方法,待更新:#include<iostream>using namespace std;int Sequential_Search(int *Array, int Number, int N){ for (int i = 0; i < N; i++) { if (Number == Array[i]) return i; } retu...
2018-07-20 19:38:58
2463
原创 几种常用的排序方法——c++实现
实现几种常用的排序方法,后续补充: #include<iostream>using namespace std; //1.BubbleSortint* BubbleSort(int array[],int const N) { int *Arr = new int[N]; for (int i = 0; i < N; i++) { Arr[i] = ar...
2018-07-20 10:10:44
329
原创 数据结构——二叉树的实现
1.建立Node节点,利用Node节点来实现相关的方法:节点赋值、节点删除、节点搜索、节点遍历。利用递归来实现相关具体方法。2.Tree类中,利用根节点指针m_pRoot来实现具体的从根节点进行的操作,例如:节点赋值、节点删除、节点搜索、节点遍历。3.具体代码如下:3.1Node节点代码:#ifndef NODE_H_#define NODE_H_class Node{ ...
2018-07-17 19:38:46
702
原创 数据结构——链表的实现
本篇博客主要编写了链表的相关程序,主要内容如下:一.相关叙述1.将数据节点用Node来表示,Node类中包含数据部分data,指针部分*Next(用于指向下一个节点)。2.整个链表的头节点*plist用于方便插入和链表的描述,不用于存储数据和链表的输出,整个链表从头结点的下一个节点开始,表示为0。3.在链表的相关操作中,例如:增加元素,遍历等,均是从头结点往下(头节点元素插入时,从头结点下一个元素...
2018-07-15 14:55:18
357
原创 数据结构——栈篇(利用模板生成栈的模板类)
本文主要利用栈技术实现了栈的模板类,利用模板类实例化各种数据类型作为栈元素包括:类、字符型等。主要代码如下,有不足之处请各位指正,谢谢!首先建立一个Coordinate类:Coordinate.h:#ifndef COORDINATE_H_#define COORDINATE_H_#include<iostream>#include<string>using nam...
2018-07-11 20:20:45
483
原创 数据结构——队列篇(普通数据类型、类作为元素以及队列类模板的实现)
一.理论部分不多叙述,具体可参考慕课网数据结构之队列篇(环形队列)。本篇博客住要从三个方面进行编写:1.基础的队列,int元素作为队列的元素。2.建立类,将类作为队列的元素。3.建立队列模板类,该类可适应多种类型的队列元素。(本博客主要作为自己学习以及复习所用,欢迎各位补充和指正!)二.实现方法1.首先最简单的队列方法:Myqueue.h#ifndef Myqueue_H_#define Myq...
2018-07-11 10:28:55
1922
texture_mapping执行文件
2018-09-30
MATLAB(GUI)图割法(Grabcut)对象分割
2018-08-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人