![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图像处理
文章平均质量分 77
周作才
这个作者很懒,什么都没留下…
展开
-
对Gabor在图像中应用的几点理解~!
最近在做关于gabor小波分析在人脸识别中的应用,用不同尺度和方向的参数形成了40幅不同的gabor小波,矩阵中有实部,也有虚部,计算的时候也是采用幅值的方法来进行的,对于这些在读相关资料的时候了解到一些,现在把这些小知识点写出来和大家分享一下呵呵,希望对大家有用~!1、 Gabor滤波可以看作一个对方向和尺度敏感的有方向性的显微镜,能够检测(响应)图像中一些具有相应的方向频率信息的、局部的显原创 2012-02-06 16:55:41 · 4276 阅读 · 2 评论 -
图像的矩
图像的矩一幅图像的矩,是通过一定的公式计算出来的。明白这个公式背后的原理,对于初学者来说,有一定的困难。这里,对图像的矩进行讲解。(1)数学公式在纯数学理论上,关于某一个点的第n阶矩,定义为: 在这个定义中,函数里只有一个独立变量。而,图像是二维的,所以,需要2个独立变量。那么公式变成: 这里,f(x,y)是一幅图像,并且,其值是连续的。但,在实际应用中转载 2015-10-29 17:34:02 · 1393 阅读 · 0 评论 -
ZBar在Windows上的使用
ZBar在Windows上的使用下载ZBar v0.10 http://zbar.sourceforge.net/ 外网无法进入的话,在此下载http://download.csdn.net/detail/sunflower_boy/9175433 1.1 默认安装 注意勾选上Development Headers and Libraries 安装完成后可在ZBar安转载 2015-11-13 19:41:29 · 7993 阅读 · 1 评论 -
图像的几何不变矩
矩特征主要表征了图像区域的几何特征,又称为几何矩, 由于其具有旋转、平移、尺度等特性的不变特征,所以又称其为不变矩。在图像处理中,几何不变矩可以作为一个重要的特征来表示物体,可以据此特征来对图像进行分类等操作。 1. HU矩 几何矩是由Hu(Visual pattern recognition by moment invariants)在1962年提出的,图像f(x,y)转载 2015-10-29 20:48:52 · 2393 阅读 · 0 评论 -
opencv 函数pointPolygonTest 检测一个点是否在多边形内
opencv函数pointPolygonTest:C++: double pointPolygonTest(InputArray contour, Point2f pt, bool measureDist)用于测试一个点是否在多边形中当measureDist设置为true时,若返回值为正,表示点在多边形内部,返回值为负,表示在多边形外部,返回值为0,表示在多边形上。当m原创 2015-09-12 11:44:28 · 21454 阅读 · 1 评论 -
opencv 中的浅拷贝和深拷贝
(1)浅拷贝: Mat B; B = image // 第一种方式 Mat C(image); // 第二种方式这两种方式称为浅copy,是由于它们有不同的矩阵头,但是它们共享内存空间,即指向一个矩阵。当图像矩阵发生变化时,两者相关联,都会变化。(2)深拷贝Mat B,C; B = image.clone(); // 第转载 2015-11-24 20:39:14 · 4886 阅读 · 0 评论 -
opencv 漫水填充函数 floodFill 说明
在OpenCV中,漫水填充算法由floodFill函数实现,其作用是用我们指定的颜色从种子点开始填充一个连接域。连通性由像素值的接近程度来衡量。OpenCV2.X有两个C++重写版本的floodFill。第一个floodFill函数:int floodFill(InputOutputArray image, Point seedPoint, Scalar newVal, Rect*转载 2015-11-02 19:44:45 · 6243 阅读 · 0 评论 -
OpenCV_连通区域分析(Connected Component Analysis/Labeling)
【摘要】本文主要介绍在CVPR和图像处理领域中较为常用的一种图像区域(Blob)提取的方法——连通性分析法(连通区域标记法)。文中介绍了两种常见的连通性分析的算法:1)Two-pass;2)Seed-Filling种子填充,并给出了两个算法的基于OpenCV的C++实现代码。一、连通区域分析连通区域(Connected Component转载 2015-11-20 09:57:27 · 1453 阅读 · 0 评论 -
RGB转YUV并获取各通道的值
在做图像中,常常会有图像格式转换的问题,比如RGB转YUV这时可以利用哦该opencv里面的函数来实现颜色格式的转换以及各通道的提取,上代码://inImage为输入的RGB图像 cv::Mat imageY(inImage.rows,inImage.cols,1); cv::Mat imageU(inImage.rows,inImage.cols,1); cv::Mat ima原创 2016-01-25 18:28:43 · 4594 阅读 · 0 评论 -
关于Magick++ 在readImage过程中异常抛出检测 Magick::readImage return exception
在调用Magick的函数readImage有时候由于图片文件本身的问题,会使得readImage的时候报错,这时候需要检测这个异常的错误,利用C++自身的异常检测问题我们可以采用如下代码来实现:vector image_list;image_list.clear();std::string strGifName //图片文件路径;try{ Magick::readImages(原创 2016-03-01 19:24:32 · 1662 阅读 · 0 评论 -
关于Opencv图像的转换(YUV420sp)
这里先举一个例子,把Opencv中的图像数据存储到一个void *data数据中struct IMAGE_DATA void *data; //图像数据 int rows; //图像高 int cols; //图像宽 int channels; //图像通道数};bool OpencvMat2data(cv::Mat &o原创 2016-03-14 20:51:57 · 6161 阅读 · 1 评论 -
Opencv drawContours函数用于绘制和填充
在opencv中当我们使用一些基于连通域或者基于边沿信息的时候,往往会对contour进行处理除了利用findContours函数寻找连通域之外,也需要对连通域进行填充等操作这里介绍下drawContours函数,自己也是不断摸索和查阅了opencv相关手册drawContours 在图像中绘制外部和内部的轮廓。drawContours(InputOutputArray image,原创 2016-04-20 21:14:05 · 17380 阅读 · 0 评论 -
opencv中Mat类型转换 ConvertTo
在使用Opencv中,常常会出现读取一个图片内容后要把图片内容的像素信息转为浮点并把当前的mat作为矩形进行矩阵计算,那么这里就有一个类型转换问你,在新的opencv中mat有一个函数可以用于类型的相互转换ConvertTooclMat::convertTo(oclMat& m, int rtype, double alpha=1, double beta=0)m:转为目标数据类型原创 2016-04-20 21:23:53 · 34007 阅读 · 0 评论 -
Caffe 环境搭建中应注意的问题
和TensorFlow对应的是Theano,Torch; Caffe专精于图像处理,Caffe方便,更快入门上手; 在通用的DL task上,Caffe不如Theano。 CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)开发环境搭建:一、没有GPUlearning@learning-virtual-machine:~$ lspci | grep转载 2016-07-26 21:06:07 · 24250 阅读 · 0 评论 -
Caffe make runtest something wrong with flag 'flagfile' in file 'XXXXXXXXX/gflags.cc'
在编译caffe过程中在最后make runtest有时会出现如下错误ERROR: something wrong with flag 'flagfile' in file 'XXXX/gflags-master/src/gflags.cc'. One possibility: file 'XXXX/gflags-master/src/gflags.cc' is being linked b原创 2016-07-27 09:39:04 · 4764 阅读 · 0 评论 -
读取gif二进制内容用magick++来解析
读取gif二进制内容用magick++来解析详细的实现见如下代码: std::vector buf; //这个存储了当前gif图片的内容信息 char* blobData = new char[buf.size()]; for ( int i = 0; i < buf.size(); i++ ) blobData[i] = buf[i]; size_t blobLen = b原创 2016-10-10 19:58:52 · 1894 阅读 · 0 评论 -
install from unix source with magick
install from unix source with magick1. 在对应的网站上下载ImageMagick.tar.gz文件,网站可参考:www.imagemagick.org2. unpack the distribution with this command: tar xvzf ImageMagick.tar.gz 3. Next co原创 2016-10-10 20:12:24 · 533 阅读 · 0 评论 -
线段相交
算法的步骤如下:1.快速排斥实验。设以线段P1P2为对角线的矩形为R,设以线段Q1Q2为对角线的矩形为T,如果R和T不相交,则两线段不相交。2.跨立实验。如果两线段相交,则两线段必然相互跨立对方。若P1P2跨立Q1Q2,则矢量(P1-Q1)和(P2-Q1)位于矢量(Q2-Q1)的两侧,即( P1 - Q1 ) × ( Q2 - Q1 ) * ( P2 - Q转载 2015-09-23 11:47:22 · 596 阅读 · 0 评论 -
opencvc3.0_alpha opencvc3.0_beta opencv3.0_rc版本说明
opencvc3.0发布了,但是在发布的过程汇总有些版本,可能需要了解下:opencv3.0_alpha版:是内部测试版,一般不向外部发布,会有很多Bug.一般只有测试人员使用。opencv3.0_beta:也是测试版,这个阶段的版本会一直加入新的功能。在Alpha版之后推出。opencv3.0_rc: rc(release candidate) 用在软件上就是候选版本原创 2015-11-10 18:44:07 · 1460 阅读 · 0 评论 -
搭建clapack计算平台的时候遇到的问题并解决~!
Error 1 error LNK2005: __invoke_watson already defined in MSVCRTD.lib(MSVCR100D.dll) C:\Opencv_Iteam\10\10-20\CLAPACK_computer\CLAPACK_computer\LIBCMTD.lib(invarg.obj) CLAPACK_computerError 2 error L转载 2012-02-06 16:58:01 · 2158 阅读 · 1 评论 -
大牛们的blog (人工智能与机器学习)
大牛们的blog (人工智能与机器学习)国外人工智能界牛人主页以前转过一个计算机视觉领域内的牛人简介,现在转一个更宽范围内的牛人简介:http://people.cs.uchicago.edu/~niyogi/http://www.cs.uchicago.edu/people/http://pages.cs.wisc.edu/~jerryzhu/转载 2012-02-06 17:10:23 · 9280 阅读 · 1 评论 -
人脸识别中姿态问题的解决方法
在进行人脸识别过程中参考了一些论文,也看了一些资料现在把这些资料做一下整理,算是对当前人脸识别姿态问题的一个方法介绍吧~!和大家分享一下,希望对大家有用~!1. 基于多视图的多姿态人脸识别 该方法采集各个人脸的各个姿态的一定数目的视图作为训练样本,建立多姿态人脸数据库,识别时将输入人脸图像与训练库中所有的多视图进行比较分析,通过定位两个瞳孔点的位置加以配准,再对配准后特定姿转载 2012-02-10 21:01:32 · 9593 阅读 · 0 评论 -
Harris算子介绍
Harris算子介绍:该算子是C.Harris和M.J.Stephens在1988年提出的一种点特征提取算子。这种算子受信号处理中自相关函数的启发,可以给出图像中某一像素点的自相关矩阵肘,其特征值是自相关函数的一阶曲率,如果算,Y两个方向上的曲率值都高,那么就认为该点是角点。Harris角点检测算子Harris[2]角点检测算子是Moravec角点检测算子的改进.(1)算子用高斯函数代转载 2012-11-14 19:55:57 · 24093 阅读 · 2 评论 -
Histograms of Oriented Gradients
转载:Histograms of Oriented GradientsHOG descriptors 是应用在计算机视觉和图像处理领域,用于目标检测的特征描述器。这项技术是用来计算局部图像梯度的方向信息的统计值。这种方法跟边缘方向直方图(edge orientation histograms)、尺度不变特征变换(scale-invariant feature transform descrip转载 2012-11-14 19:22:40 · 919 阅读 · 0 评论 -
用unsigned char 赋值给Mat
用unsigned char 赋值给Mat例子:cv::Mat Image(64,64,CV_8UC1);for (int i=0;i{for (int j=0;j{Image.at(i,j) = (uchar)s[i][j];}}原创 2015-07-09 15:34:17 · 7014 阅读 · 0 评论 -
手势识别技术的一个简介 转载
手势识别技术的一个简介 本文作者是王元、高羽,uSens凌感科技的员工。不知道大家还记不记得02年的好莱坞电影《少数派报告》?小编当时疯狂痴迷汤姆克鲁斯饰演的精英探员,不仅仅是因为汤姆克鲁斯本身的魅力,还因为电影里展示的酷炫的手势操作界面。有人说,电影在一定程度上是人类技术的先知,这个论调虽然不能说完全正确,但是在手势控制的人机交互这方面,我们从来没有像现在一样接近未来。今天就让小编为转载 2015-07-03 09:28:27 · 1922 阅读 · 0 评论 -
计算机视觉进展二十年 (1995~2015) 转载~有兴趣的朋友可以看看哦
计算机视觉进展二十年 (1995~2015)2015-06-04 deepnn团队 DeepLearning中文论坛计算机视觉的两大主要板块是:几何和识别,这里我们主要来讲述计算机视觉在1995~2015年间的进展。1. 影像特征点检测算子(detector)和描述算子(descriptor) SIFT的诞生 (1999, 2004)Sc转载 2015-07-02 17:23:33 · 1892 阅读 · 0 评论 -
汉字的区位码
为了使每一个汉字有一个全国统一的代码,1980年,我国颁布了第一个汉字编码的国家标准: GB2312-80《信息交换用汉字编码字符集》基本集,这个字符集是我国中文信息处理技术的发展基础,也是目前国内所有汉字系统的统一标准。由于国标码是四位十六进制,为了便于交流,大家常用的是四位十进制的区位码。 所有的国标汉字与符号组成一个94×94的矩阵。在此方阵中,每一行称为一个“区”,每一列称为一个“位转载 2015-07-09 15:33:28 · 2328 阅读 · 0 评论 -
40多个关于人脸检测/识别的API、库和软件
40多个关于人脸检测/识别的API、库和软件【感谢@吕抒真 的热心翻译】本文来自伯乐在线:http://blog.jobbole.com/45936/之前自己也做过人脸识别,年龄识别、性别识别,这里看到了一篇文章写得很好,所以贴出来和大家分享下!希望对大家有帮助!自从谷歌眼镜被推出以来,围绕人脸识别,出现了很多争议。我们相信,不管是不是通过智能眼镜,人脸识别将在人与转载 2015-07-09 21:01:49 · 10852 阅读 · 0 评论 -
opencv 中两个rect相交
在对opencv进行应用中,我们常会应用到rect之间的关系,可以采用如下方法来实现:bool rectA_intersect_rectB(cv::Rect rectA, cv::Rect rectB)如果rectA与rectB相交,则返回true,这里的相交没有包含的概念,如果要用到包含则可根据下面代码进行修改bool rectA_intersect_rectB(cv::Rect r原创 2015-07-27 16:04:54 · 8116 阅读 · 0 评论 -
findContours函数参数说明
findContours函数,这个函数的原型为:void findContours(InputOutputArray image, OutputArrayOfArrays contours, OutputArray hierar-chy, int mode, int method, Point offset=Point())参数说明输入图像image必须为一个2值单通道转载 2015-08-22 11:19:56 · 1295 阅读 · 0 评论 -
解析PSNR和SSIM
PSNR(Peak Signal to Noise Ratio)峰值信噪比,一种全参考的图像质量评价指标。其中,MSE表示当前图像X和参考图像Y的均方误差(Mean Square Error),H、W分别为图像的高度和宽度;n为每像素的比特数,一般取8,即像素灰阶数为256. PSNR的单位是dB,数值越大表示失真越小。PSNR是最普遍和使用最为广泛的一种图像客观评价指标,然而转载 2015-08-24 16:03:51 · 67316 阅读 · 6 评论 -
opencv中convexHull函数说明
在opencv中,可通过函数convexHull对一系列点的凸包,如由点组成的轮廓,通过convexHull函数,就能得到轮廓的凸包。void convexHull(InputArray points, OutputArray hull, bool clockwise=false, bool returnPoints=true);InputArray points:要求凸包的点集;原创 2015-08-22 11:26:55 · 9265 阅读 · 0 评论 -
对梯度幅值进行非极大值抑制
图象的边缘是指图象局部区域亮度变化显著的部分,该区域的灰度剖面一般可以看作是一个阶跃,既从一个灰度值在很小的缓冲区域内急剧变化到另一个灰度相差较大的灰度值。图象的边缘部分集中了图象的大部分信息,图象边缘的确定与提取对于整个图象场景的识别与理解是非常重要的,同时也是图象分割所依赖的重要特征,边缘检测主要是图象的灰度变化的度量、检测和定位,自从1959提出边缘检测以来,经过五十多年的发展,已有许多中不转载 2015-08-21 20:49:14 · 12540 阅读 · 1 评论 -
opencv中的approxPolyDP函数和boundingRect函数说明
opencv中利用函数approxPolyDP来对指定的点集进行逼近,其逼近的精度是可设置的对应的函数为:void approxPolyDP(InputArray curve, OutputArray approxCurve, double epsilon, bool closed);InputArray curve:输入的点集OutputArray appro原创 2015-08-22 11:47:10 · 22795 阅读 · 0 评论 -
OpenCV滤波之copyMakeBorder和borderInterpolate
在OpenCV滤波算法中,有两个非常重要的基本工具函数,copyMakeBorder和borderInterpolatecopyMakeBorder函数原型void copyMakeBorder( const Mat& src, Mat& dst,int top, int bottom, int left, int right,int borderTyp转载 2015-10-21 14:30:21 · 1090 阅读 · 0 评论 -
libMagick++-7.a(Magick___lib_libMagick___7_Q16HDRI_la-Blob.o): relocation R_X86_64_32S against `vtab
libMagick++-7.a(Magick___lib_libMagick___7_Q16HDRI_la-Blob.o): relocation R_X86_64_32S against `vtable for Magick::Blob' can not be used when making a shared object; recompile with -fPIC在进行编译的原创 2016-10-11 22:19:01 · 1869 阅读 · 0 评论