图像处理
文章平均质量分 88
yangpan011
这个作者很懒,什么都没留下…
展开
-
Derek Bradley & Gerhard Roth自适应二值化算法, Opencv实现
voidBradleyThreshold(constIplImage*srcImage,IplImage*dstImage,intiRows,intiCols,doubledPercentThres){ // Deal with even blocksize if(iRows%2==0) ++iRows; if(iCols%2==0) ++iCol...转载 2018-03-22 20:15:01 · 625 阅读 · 3 评论 -
Wellner 自适应阈值二值化算法
参考文档: Adaptive Thresholding for the DigitalDesk.pdf Adaptive Thresholding Using the Integral Image.pdf 一、问题的由来 一个现实: 当用照像机拍摄一副黑纸白字的纸张时,照相机获得的图像并不是真正的黑白图像。不管从什么角度拍摄,这幅图像实际上是灰度或者彩色...转载 2018-03-22 15:20:56 · 1566 阅读 · 0 评论 -
如何理解矩阵相乘的几何意义或现实意义?
作者:deng will链接:https://www.zhihu.com/question/28623194/answer/135658852来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。这个问题我也思考了许久,如何从高中的知识过度到大学的线代知识,偶然间看到一篇文章再结合MIT的线代和国内的西工大的矩阵论的一小撮知识,终于把这个问题可以详细的写出来了,达到知其所以...转载 2018-02-24 10:14:15 · 32636 阅读 · 1 评论 -
Science上发表的简单快速的聚类方法
工作以后发现自己学习和研究的时间变得少得可怜。前两周因为一个同事的交流,关注了一下canopy辅助Kmeans聚类确定簇数目。然后想起最近很火的一篇Science文章:Clustering by fast search and find of density peak,据说非常简单而优美。然后上网上搜了一下,评论的文章也就那样转来转去,其实就是把人家论文拿来翻译一下,有些关键点根本没讲清楚,真不知...转载 2018-03-16 13:45:57 · 5505 阅读 · 0 评论 -
机器人学中旋转矩阵与欧拉角之间互换公式及程序
/*弧度 角度 */#define PAI 3.141592653589793#define RADIAN (PAI / 180.0 ) //弧度 = 角度 * π / 180#define ANGLE (180.0 / PAI ) //角度 = 弧度 * 180 / π 2、旋转矩阵转换为欧拉角 /** * @brief 已知旋转矩阵求欧拉角转载 2018-02-06 09:54:53 · 2955 阅读 · 0 评论 -
opencv 读取图片并提取Mat中data数据
uchar* pImageData = (uchar*)malloc(width*height* 3 * sizeof(uchar));Mat MyImage = imread(file_name,IMREAD_COLOR); if(!MyImage.data){ cout<< "读取不到图片" << end...原创 2018-02-10 16:12:57 · 28663 阅读 · 3 评论 -
刚体在三维空间的旋转(关于旋转矩阵、DCM、旋转向量、四元数、欧拉角)
三维空间的旋转(3D Rotation)是一个很神奇的东东:如果对某个刚体在三维空间进行任意次的旋转,只要旋转中心保持不变,无论多少次的旋转都可以用绕三维空间中某一个轴的一次旋转来表示。表示三维空间的旋转有多种互相等价的方式,常见的有旋转矩阵、DCM、旋转向量、四元数、欧拉角等。本篇文章主要梳理一下这些表示方式及相互转换的方法。1. 欧拉角(Euler Angle)最直观的表示方式是绕刚体自身的X...转载 2018-02-09 20:12:06 · 1391 阅读 · 0 评论 -
范数对于数学的意义?1范数、2范数、无穷范数
作者:JI Weiwei链接:https://www.zhihu.com/question/21868680/answer/25599956来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。作者:Faaany链接:https://www.zhihu.com/question/21868680/answer/136376374来源:知乎著作权归作者所有。商业转载请联系作者...转载 2018-03-06 18:12:45 · 145902 阅读 · 10 评论 -
caffe 环境配置
1. 安装cuda Cuda是英伟达推出的GPU加速运算平台 我这里安装的是cuda7.5,已经安装过的忽略,还没有安装过的这里有安装教程.windows下面安装还是非常简单的. 点击打开链接2. 下载cuDNN(其实是个压缩包) https://developer.nvidia.com/cudnn 用于深度学习加速. 中间可能有个注册的过程,自己注册一下.(因...转载 2018-03-25 13:40:35 · 993 阅读 · 0 评论 -
EPnP算法
EPnP算法 原文见附件:https://www.cnblogs.com/jian-li/p/5689122.html复制后公式都看不清了。 相机坐标系用FcFc,世界坐标系用FwFw表示,任何一点可以用四个控制点pwipiw表示 pwi=∑j=14αijcwj,with∑j=14αij=1(1)(1)piw=∑j=14αijcjw,with∑j=14αij=1对...转载 2018-10-09 13:38:55 · 2394 阅读 · 0 评论 -
image stitch(国外开源的图像拼接)
from: http://blog.163.com/pz124578@126/blog/static/235226942012359378933/For the latest version of the code, which may contain the latest enhancements and corrections, please download the latest ver...转载 2018-08-03 14:51:33 · 25879 阅读 · 2 评论 -
stitching_detail算法介绍
一、stitching_detail程序运行流程 1.命令行调用程序,输入源图像以及程序的参数 2.特征点检测,判断是使用surf还是orb,默认是surf。 3.对图像的特征点进行匹配,使用最近邻和次近邻方法,将两个最优的匹配的置信度保存下来。 4.对图像进行排序以及将置信度高的图像保存到同一个集合中,删除置信度比较低的图像间的匹配,得到能...转载 2018-08-01 20:18:23 · 731 阅读 · 0 评论 -
图像拼接算法(zz)
图像拼接算法原理 1:http://planckscale.info/?p=7http://planckscale.info/?p=84http://blog.csdn.net/xiaolizi399/article/details/41931809文章来源(planckscale.info)360°全景拼接技术简介 核心就是一个单应性条件需要满足。0. 引言...转载 2018-07-25 20:32:54 · 21787 阅读 · 4 评论 -
鱼眼图像的经纬度展开,经纬度图转鱼眼
鱼眼图像由视场角接近180度甚至大于180度的镜头拍摄得到,图像周围畸变严重,通过经纬法将鱼眼图像展开是一个不错的方法。鱼眼镜头可以视为一个半球,经纬法按照球面贴图的类似思想将图像以球面形式展开。以下面这幅鱼眼图像为例:视场角假设为180度,如果按照球的北极点(南极点)为图像的中心,展开后会是这个样子:图像中心为北极点图像中心为南极点当然这样做是不行的,所以需要把球绕x轴旋转90度后展开,这样球的...转载 2018-06-04 14:36:12 · 5988 阅读 · 12 评论 -
如何获取opencv中mat类的数据指针
Mat src_gray;double *data; //double 也可以换成别的类型data = src_gray.ptr<double>(0);//此次<double> 对应上面的double *data原创 2018-04-10 15:07:27 · 7105 阅读 · 0 评论 -
caffe-master 之 mnist
本教程尽量详细,大多步骤都有图,如果运行出错,请先对照自己的文件是否和图上的一样,包括标点啊,空格啊,斜杠,反斜杠啊之类的小细节。第一步: 官网下载mnist数据 http://yann.lecun.com/exdb/mnist/,共4个文件,解压放到caffe-master\data\mnist下如图: 第二步: 转换成caffe需要的数据格式,此处转换为 LMDB(cifar是转换成 LE...转载 2018-03-25 14:51:29 · 233 阅读 · 0 评论 -
从零到一:caffe-windows(CPU)配置与利用mnist数据集训练第一个caffemodel
一、前言 本文会详细地阐述caffe-windows的配置教程。由于博主自己也只是个在校学生,目前也写不了太深入的东西,所以准备从最基础的开始一步步来。个人的计划是分成配置和运行官方教程,利用自己的数据集进行训练和利用caffe来实现别人论文中的模型(目前在尝试的是轻量级的SqueezeNet)三步走。不求深度,但求详细。因为说实话caffe-windows的配置当初花了挺多时间的,目前貌似...转载 2018-03-25 14:03:05 · 266 阅读 · 0 评论 -
绕任意轴旋转
绕坐标轴旋转关于最常见的绕坐标轴旋转,可以看看前一篇-几何变换详解。绕任意轴旋转绕任意轴旋转的情况比较复杂,主要分为两种情况,一种是平行于坐标轴的,一种是不平行于坐标轴的,对于平行于坐标轴的,我们首先将旋转轴平移至与坐标轴重合,然后进行旋转,最后再平移回去。将旋转轴平移至与坐标轴重合,对应平移操作旋转,对应操作步骤1的逆过程,对应操作 整个过程就是对于不平行于坐转载 2018-01-03 10:30:58 · 1751 阅读 · 0 评论 -
RGB转YUV
先区分一下YUV和YCbCrYUV色彩模型来源于RGB模型,该模型的特点是将亮度和色度分离开,从而适合于图像处理领域。应用:模拟领域Y'= 0.299*R' + 0.587*G' + 0.114*B'U'= -0.147*R' - 0.289*G' + 0.436*B' = 0.492*(B'- Y')V'= 0.615*R' - 0.515*G' - 0.100*B' =转载 2016-09-12 14:29:29 · 483 阅读 · 0 评论 -
几种常见窗函数及其MATLAB程序实现
数字信号处理中通常是取其有限的时间片段进行分析,而不是对无限长的信号进行测量和运算。具体做法是从信号中截取一个时间片段,然后对信号进行傅里叶变换、相关分析等数学处理。信号的截断产生了能量泄漏,而用FFT算法计算频谱又产生了栅栏效应,从原理上讲这两种误差都是不能消除的。在FFT分析中为了减少或消除频谱能量泄漏及栅栏效应,可采用不同的截取函数对信号进行截短,截短函数称为窗函数,简称为窗。泄漏与转载 2016-08-19 08:51:28 · 16525 阅读 · 0 评论 -
解析力评测(1) MTF和SFR
成像系统的解析力一直是摄像头最关键的指标之一。所有用户拿到一张照片的时候首先看到的是照片清楚不清楚,图像的清楚说得就是解析力。但是如何评价一个成像系统的解析力也是大家一直在探讨的问题。目前主流的办法主要有三种TV line检测,MTF检测,和SFR检测。 其中TV line主要用于主观测试,也有一些读取TV line的软件如HYRes。但是总体来说没有一个具体的标准。大多数公司是以人的读转载 2016-07-18 10:20:59 · 31328 阅读 · 5 评论 -
【图像处理】SFR算法详解4
本篇为SFR算法详解系列的第四篇,前面三篇为: 《SFR算法详解1》:什么是MTF,MTF50,MTF50P 《SFR算法详解2》:算法过程描述 《SFR算法详解3》:ROI定义,线性化,centroid本篇主要根据第二篇中的算法流程,描述几个流程及其相关原理。4、线性回归在得到对应的矩心之后,对其进行线性回归。这里采用最小二乘法,求出估计参数a、b。 最小转载 2016-06-30 10:04:47 · 3798 阅读 · 0 评论 -
【图像处理】SFR算法详解3
本篇为SFR算法详解系列的第三篇,前面两篇为: 《SFR算法详解1》:什么是MTF,MTF50,MTF50P 《SFR算法详解2》:算法过程描述本篇主要根据第二篇中的算法流程,描述前面的几个流程及其相关原理。这里参考标准中的附录C算法原理及mitre SFR的代码实现,并结合自己需要对其进行优化。1、获取图像ROI这里从拍摄的图像(一般为RGB)中截取ROI区域,并转载 2016-06-30 10:01:34 · 5009 阅读 · 1 评论 -
【图像处理】SFR算法详解2
这个是《【图像处理】SFR算法详解1》的后续,本篇主要讲解SFR算法过程。这里主要参考ISO 12233标准所描述的SFR算法过程,详见《ISO 12233-2000 Camera resolution measurement》中6.3 Saptial frequency response。1、水平SFR及垂直SFRSFR是通过分析相机拍摄到的图像中一个黑色到白色的斜边而得到的转载 2016-06-30 09:59:48 · 2075 阅读 · 0 评论 -
【图像处理】SFR算法详解1
这几篇文章写的是SFR算法,主要根据相关的概念及其对应的标准和源码,来看看SFR究竟是什么?这里先简单介绍下一些基本的概念1、什么是MTFMTF算法是分析镜头解像能力的算法,其全称是Modulation Transfer Function(调制传递函数)。为了理解这个,首先需要知道什么是调制Modulation。Modulation类似于对比度的概念,其数学表达公式转载 2016-06-30 09:58:23 · 3464 阅读 · 0 评论 -
MTF的倾斜边缘计算方法
简介 光学系统性能的衡量方法有很多,常见的有点扩散函数法、瑞利判断法、点列图法、光学传递函数(MTF)法等,其中MTF法在光学系统和镜头加工制造中使用最为广泛。MTF曲线真实的反映了成像系统将物方信息传递到像方的能力。MTF曲线的横坐标一般是cycle/mm或者linepair/mm[1][11],纵坐标是反映对比度传递特性的像/物方调制度的比值。 MTF的计算转载 2016-10-27 16:56:58 · 31825 阅读 · 2 评论 -
关于霍夫找圆算法cvHoughCircles的
http://b217dgy.blog.51cto.com/5704306/1320360霍夫圆变换的函数为:HoughCircles利用 Hough 变换在灰度图像中找圆CvSeq* cvHoughCircles( CvArr* image, void* circle_storage, int method, double dp转载 2016-11-10 14:16:02 · 1052 阅读 · 0 评论 -
CvMat矩阵数据访问方法总结
CvMat矩阵数据结构是OpenCV的基础数据类型,对于图像处理这种密级型运算,经常需要访问,修改,设置其元素的值。OpenCV提供了很多优良的函数,能够很简单的实现上述功能。在《学习OpenCV》一书中,作者分别就简单的方法,麻烦的方法,和恰当的方法对相关函数进行了讲解,讲得比较清晰。本文主要讲解通过指针高效访问CvMat元素的方法z及平时容易忽视的一些小问题。1.关于元素数据类型转载 2016-11-28 18:36:10 · 749 阅读 · 0 评论 -
LM c语言代码
http://apps.jcns.fz-juelich.de/doku/sc/lmfit This is the home page oflmfit, a self-contained C library for Levenberg-Marquardt least-squares minimization and curve fitting.原创 2017-11-22 18:50:10 · 1320 阅读 · 0 评论 -
Computer Vision 代码整理
按类别分类特征提取SURF特征: http://www.vision.ee.ethz.ch/software/index.de.html(当然这只是其中之一)LBP特征(一种纹理特征):http://www.comp.hkbu.edu.hk/~icpr06/tutorials/Pietikainen.htmlFast Corner Detection(Ope转载 2017-11-22 11:18:11 · 395 阅读 · 0 评论 -
机器人学中旋转矩阵与欧拉角之间互换公式及程序
/*弧度 角度 */#define PAI 3.141592653589793#define RADIAN (PAI / 180.0 ) //弧度 = 角度 * π / 180#define ANGLE (180.0 / PAI ) //角度 = 弧度 * 180 / π 2、旋转矩阵转换为欧拉角 /** * @bri转载 2017-11-11 17:34:56 · 4124 阅读 · 0 评论 -
RGB模式转换为LAB模式
需要将rgb模式图片转换到lab模式图片,在网上找了好多公式都不对,后来发现变换矩阵的问题。该函数计算的几个与matlab和photoshop都对比过,非常接近。int RgbTOLab(InputData * Inbuffer,double * Outbuffer, int width,int height){int iWidth,iHeight;iWidth = wid原创 2017-09-06 13:55:20 · 4933 阅读 · 0 评论 -
Gauss-Newton算法学习
Gauss-Newton算法是解决非线性最优问题的常见算法之一,最近研读开源项目代码,又碰到了,索性深入看下。本次讲解内容如下:基本数学名词识记牛顿法推导、算法步骤、计算实例高斯牛顿法推导(如何从牛顿法派生)、算法步骤、编程实例高斯牛顿法优劣总结一、基本概念定义1.非线性方程定义及最优化方法简述 指因变量与自变量之间的关系不是线性的关系,转载 2017-08-19 13:20:27 · 2229 阅读 · 1 评论 -
CvMat、Mat、IplImage之间的转换详解及实例
OpenCV学习之CvMat的用法详解及实例 CvMat是OpenCV比较基础的函数。初学者应该掌握并熟练应用。但是我认为计算机专业学习的方法是,不断的总结并且提炼,同时还要做大量的实践,如编码,才能记忆深刻,体会深刻,从而引导自己想更高层次迈进。1.初始化矩阵: 方式一、逐点赋值式: CvMat* mat = cvCreateMat( 2, 2, CV_64转载 2016-11-23 15:25:57 · 289 阅读 · 0 评论 -
opencv 所有lib文件
今天在vs上写一段代码,编译后总是显示有无法解析的函数,又不知道该函数在哪个lib文件中,在百度上找了半天,也没找到。已是就将所有lib库都添加到vs链接中。如下:opencv_calib3d2410d.libopencv_contrib2410d.libopencv_core2410d.libopencv_features2d2410d.libopencv_flann2410原创 2016-11-22 10:35:57 · 5304 阅读 · 4 评论 -
Mat, vector<point2f>,Iplimage等等常见类型转换
原文地址:http://blog.csdn.net/foreverhehe716/article/details/6749175在mfc c++ 以及opencv 编写程序当中,很多常用的类型转换,现在总结一下。(注意加相应的头文件,这里不罗嗦)提纲:1. Mat ---> Iplimage2. Iplimage ---> CvvImage转载 2016-11-21 17:56:27 · 687 阅读 · 0 评论 -
非局域均值去噪
http://www.cnblogs.com/luo-peng/p/4785922.html非局部均值(NL-means)是近年来提出的一项新型的去噪技术。该方法充分利用了图像中的冗余信息,在去噪的同时能最大程度地保持图像的细节特征。基本思想是:当前像素的估计值由图像中与它具有相似邻域结构的像素加权平均得到。 理论上,该算法需要在整个图像范围内判断像素间的相似度,也就是说,每处转载 2016-05-30 17:13:28 · 2482 阅读 · 0 评论