-牧野-
这个作者很懒,什么都没留下…
展开
-
rawpy坏点修复 && ExifRead获取RAW曝光、ISO、光圈等exif信息
1. 读取RAW并保存为RGB图片# csdn -牧野- 2020-3-20import rawpyimport imageioimport numpy as npraw = rawpy.imread('take.dng')# use_camera_wb 是否执行自动白平衡,如果不执行白平衡,一般图像会偏色# half_size 是否图像减半# no_auto_brigh...原创 2020-03-26 18:23:18 · 7192 阅读 · 3 评论 -
图像校正—透视变换
透视变换通过投影的方式,把当前图像映射到另外一个平面,就像电影院里的交代放映机,如果幕布或者胶带其中任意一个与放映机发出的光纤不是垂直90度角的,那么投影到幕布上的图像就会发生畸变。这种畸变就是透视畸变的一种。透视变换对畸变图像的校正需要取得畸变图像的一组4个点的坐标,和目标图像的一组4个点的坐标,通过两组坐标点可以计算出透视变换的变换矩阵,之后对整个原始图像执行变换矩阵的变换,就可以原创 2016-09-08 22:14:06 · 28851 阅读 · 24 评论 -
工业相机标定相关知识整理
相机标定内参和外参在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型,这些几何模型参数就是相机参数。在大多数条件下这些参数必须通过实验与计算才能得到,这个求解参数的过程就称之为相机标定(或摄像机标定)。无论是在图像测量或者机器视觉应用中,相机参数的标定都是非常关键的环节,其标定结果的精度及算法的稳定性直接影响相机工原创 2016-10-21 21:51:00 · 29784 阅读 · 6 评论 -
工业相机基础知识(一)
CCD与CMOS工业相机按照图像的传感器元件的不同分为CCD(Charge Coupled Device,电荷耦合元件)和CMOS(金属氧化物半导体元件)两类,两者的区别如下:成像过程不同:CCD仅有一个(或少数几个)输出节点统一输出数据,信号一致性好,而CMOS芯片中每个像素都有自己的信号放大器,各自进行电荷到电压的转换,输出信号的一致性较差,比CCD的信号噪声更多,但是CMOS的一原创 2016-10-13 22:37:37 · 16726 阅读 · 1 评论 -
使用Opencv中matchTemplate模板匹配方法跟踪移动目标
模板匹配是一种在图像中定位目标的方法,通过把输入图像在实际图像上逐像素点滑动,计算特征相似性,以此来判断当前滑块图像所在位置是目标图像的概率。在Opencv中,模板匹配定义了6种相似性对比方式: CV_TM_SQDIFF 平方差匹配法:计算图像像素间的距离之和,最好的匹配是0,值越大,是目标的概率就越低。 CV_TM_CCORR 相关匹配法:一种乘法操作;数值从小到大,匹配原创 2016-09-15 09:39:25 · 14650 阅读 · 7 评论 -
工业镜头基础知识整理
为什么需要镜头?镜头等同于针孔成像中针孔的作用,所不同的是,一方面镜头的透光孔径比针孔大很多倍,能在同等时间内接纳更多的光线,使相机能在很短时间内(毫秒到秒级)获得适当的曝光;另一方面,镜头能够聚集光束,可以在相机胶片上产生比针孔成像效果更为清晰的影像;镜头的组成:机器视觉常用定焦镜头,并且都是手动调整光圈,一般不允许自动调整光圈,镜头上有调焦和调光圈两个环,为原创 2016-10-10 22:07:08 · 35024 阅读 · 3 评论 -
透镜畸变及校正模型
透镜由于制造精度以及组装工艺的偏差会引入畸变,导致原始图像的失真。镜头的畸变分为径向畸变和切向畸变两类。1. 径向畸变顾名思义,径向畸变就是沿着透镜半径方向分布的畸变,产生原因是光线在原理透镜中心的地方比靠近中心的地方更加弯曲,这种畸变在普通廉价的镜头中表现更加明显,径向畸变主要包括桶形畸变和枕形畸变两种。以下分别是枕形和桶形畸变示意图:成像仪光轴中心的原创 2016-10-27 22:10:09 · 48765 阅读 · 4 评论 -
工业相机基本参数以及选型参考(二)
分辨率 相机每次采集图像的像素点数,一般对应于光电传感器靶面排列的像元数,如1920*1080。 像素深度 每位像素数据的位数,常见的是8bit,10bit,12bit。分辨率和像素深度共同决定了图像的大小。例如对于像素深度为8bit的500万像素,则整张图片应该有500万*8/1024/1024=37M(1024Byte=1KB,1024KB=1M)。增加像素深度可以增...原创 2016-10-18 21:12:45 · 46038 阅读 · 7 评论 -
衡量镜头解像能力性能的指标-MTF曲线
1.MTF(百度文库--有关MTF的深刻见解)modulation Transfer Function(模量传递函数),是目前分析镜头的解像能力方法,可以用来评判镜头还原对比度的能力。MTF是对镜头两在重要指标--分辨率和反差的综合评判。一、分辨率:分辨率(Resolution)又称分辨力、鉴别率、鉴别力、分析力、解像力和分辨本领,是指摄影镜头清晰地再现被摄景物纤微能力。显然分辨率原创 2016-10-20 14:54:44 · 11613 阅读 · 0 评论 -
分类算法SVM(支持向量机)
支持向量机(Support Vector Machine ,SVM)的主要思想是:建立一个最优决策超平面,使得该平面两侧距离该平面最近的两类样本之间的距离最大化,从而对分类问题提供良好的泛化能力。对于一个多维的样本集,系统随机产生一个超平面并不断移动,对样本进行分类,直到训练样本中属于不同类别的样本点正好位于该超平面的两侧,满足该条件的超平面可能有很多个,SVM正式在保证分类精度的同时,寻找到这样原创 2016-11-01 22:24:38 · 50422 阅读 · 2 评论 -
Sift算子特征点提取、描述及匹配全流程解析
Sift之前的江湖在Sift横空出世之前,特征点检测与匹配江湖上占据霸主地位的是角点检测家族。先来探究一下角点家族不为人知的恩怨情仇。角点家族的族长是Moravec在1977年提出的Moravec角点检测算子,它是一种基于灰度方差的角点检测方法,该算子计算图像中某个像素点沿水平、垂直方向上的灰度差异,以确定角点位置,Moravec是第一个角点检测算法,也是角点家族的开山鼻祖。角点...原创 2016-09-18 20:29:13 · 80818 阅读 · 40 评论 -
图像灰度变换及实现
图像反转的原理很简单,就是颠倒黑白的运算,处理后的效果看起来像是原图的底片;对数变换可以将图像的低灰度值部分扩展,显示出低灰度部分更多的细节,将其高灰度值部分压缩,减少高灰度值部分的细节,从而达到强调图像低灰度部分的目的;伽马变换主要用于图像的校正,将灰度过高或者灰度过低的图片进行修正,增强对比度;原创 2016-08-14 15:07:30 · 24724 阅读 · 1 评论 -
Sift中尺度空间、高斯金字塔、差分金字塔(DOG金字塔)、图像金字塔
一、 图像金字塔图像金字塔是一种以多分辨率来解释图像的结构,通过对原始图像进行多尺度像素采样的方式,生成N个不同分辨率的图像。把具有最高级别分辨率的图像放在底部,以金字塔形状排列,往上是一系列像素(尺寸)逐渐降低的图像,一直到金字塔的顶部只包含一个像素点的图像,这就构成了传统意义上的图像金字塔。获得图像金字塔一般包括二个步骤:1. 利用低通滤波器平滑图像 2. 对平原创 2016-09-17 09:46:33 · 73282 阅读 · 79 评论 -
视频监控中运动物体检测与跟踪----相邻帧差法和三帧差法
帧间差分法是通过对视频中相邻两帧图像做差分运算来标记运动物体的方法。帧差法依据的原则是:当视频中存在移动物体的时候,相邻帧(或相邻三帧)之间在灰度上会有差别,求取两帧图像灰度差的绝对值,则静止的物体在差值图像上表现出来全是0,而移动物体特别是移动物体的轮廓处由于存在灰度变化为非0,这样就能大致计算出移动物体的位置、轮廓和移动路径等。帧间差分法的优点是算法实现简单,程序设计复杂度低;对光线等场景变化不太敏感,能够适应各种动态环境,稳定性较好。缺点是不能提取出对象的完整区域,对象内部有“空洞”,只能提取原创 2016-08-17 23:53:53 · 37773 阅读 · 6 评论 -
Canny边缘检测及C++实现
Canny边缘检测算法是澳大利亚科学家John F. Canny在1986年提出来的,不得不提一下的是当年John Canny本人才28岁!到今天已经30年过去了,Canny算法仍然是图像边缘检测算法中最经典有效的算法之一。一起睹一下大家芳容:John Canny研究了最优边缘检测方法所需的特性,给出了评价边缘检测性能优劣的3个指标:1 好的信噪比,即将非边缘点判定为原创 2016-08-28 13:26:34 · 55091 阅读 · 46 评论 -
图像直线检测——霍夫线变换
霍夫变换用来从图像中检测出具有某种特征的几何形状,如直线、圆、椭圆等。霍夫线变换思想:霍夫线变换必须应用在二值图像上,它认为图像上每一个点都有可能是某条直线上的一个点,这个是霍夫线变换的理论基础:1. 对于xy坐标平面的一个点(x0,y0),经过该点的一条直线用 y0=k*x0+b来表示,k是斜率,b是直线的截距,即x0=0时,y0对应的值;2. 上式也可以用b=y0-k原创 2016-09-07 22:46:01 · 6781 阅读 · 3 评论 -
运动物体检测与跟踪——累积权重构建背景模型
运动物体检测与跟踪中的帧差分法,除了相邻帧差分法和三帧差分法外,还有一种差分方法,可以通过建立不含前景的背景模型,用当前帧和背景模型做差,差值就可以体现运动物体大概的位置和大小信息。相比相邻帧差分法和三帧差分法,背景模型做差法可以较为完整的体现运动物体的整体轮廓,运动物体的双重轮廓、“鬼影”、空洞现象改善明显,下文的对比效果可以看到这一点。但背景模型的选取和建立的要求条件也更为苛刻原创 2016-08-21 00:25:42 · 9908 阅读 · 5 评论 -
霍夫圆变换
霍夫圆变换的基本思路是认为图像上每一个非零像素点都有可能是一个潜在的圆上的一点,跟霍夫线变换一样,也是通过投票,生成累积坐标平面,设置一个累积权重来定位圆。在笛卡尔坐标系中圆的方程为:其中(a,b)是圆心,r是半径,也可以表述为:即所以在abr组成的三维坐标系中,一个点可以唯一确定一个圆。而原创 2016-09-11 21:23:15 · 20972 阅读 · 5 评论 -
膨胀和腐蚀操作中的不同结构元效果对比
常用的图像形态学操作包括膨胀、腐蚀、闭运算、开运算。膨胀操作会扩大(粗化)图像中物体的轮廓,可以用来弥补(填充)物体间的孔洞,强化离散点,代价是导致物体的面积比原来的面积要大。腐蚀操作会收缩(细化)图像中物体的轮廓,可以用来断开(分离)物体间的连接,消除离散点,代价是导致物体的面积比原来的面积要小。闭运算是使用同一结构元对图像进行先膨胀后腐蚀的操作,可以用来弥合较窄的间断和细长的沟壑,原创 2016-08-21 15:00:44 · 15201 阅读 · 4 评论 -
Sobel算子及C++实现
Sobel 算子是一个离散的一阶微分算子,用来计算图像灰度函数的近似梯度。在空间域上Sobel算子很容易实现,执行速度快,对部分噪声具有平滑作用,还能够提供较为精确的边缘方向信息,缺点是边缘定位精度不够高。边缘是指一个物体与另一个物体的分界处,一般边缘内外处都会有灰度值上的差异,Sobel算子就是通过像素点空间邻域内上下,左右相邻点的灰度加权运算,求取物体边缘。经典Sobel的卷积原创 2016-08-22 22:38:52 · 28353 阅读 · 11 评论 -
向量点乘(内积)和叉乘(外积、向量积)概念及几何意义解读
向量是由n个实数组成的一个n行1列(n*1)或一个1行n列(1*n)的有序数组;向量的点乘,也叫向量的内积、数量积,对两个向量执行点乘运算,就是对这两个向量对应位一一相乘之后求和的操作,点乘的结果是一个标量。点乘公式对于向量a和向量b:原创 2016-09-02 20:50:34 · 885960 阅读 · 49 评论 -
高斯滤波及高斯卷积核C++实现
高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,在图像处理的降噪、平滑中应用较多,特别是对抑制或消除服从正态分布的噪声非常有效。高斯滤波的过程其实就是对整幅图像进行加权平均操作的过程。滤波后图像上每一个像素的灰度值大小,由其本身和邻域内的其他像素共同决定。具体实现是:用一个大小为(2*N+1)的模板(或称卷积核、掩模)依次扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度替代模板中心像素...原创 2016-08-24 23:59:01 · 33418 阅读 · 13 评论 -
自适应阈值分割—大津法(OTSU算法)C++实现
大津法是一种图像灰度自适应的阈值分割算法,是1979年由日本学者大津提出,并由他的名字命名的。大津法按照图像上灰度值的分布,将图像分成背景和前景两部分看待,前景就是我们要按照阈值分割出来的部分。背景和前景的分界值就是我们要求出的阈值。遍历不同的阈值,计算不同阈值下对应的背景和前景之间的类内方差,当类内方差取得极大值时,此时对应的阈值就是大津法(OTSU算法)所求的阈值。 何为类间方差?...原创 2016-08-16 21:46:27 · 40364 阅读 · 4 评论