opencv随笔1】的更多相关文章

图像处理技术一般包括图像压缩,增强和复原,匹配 描述和l识别 3 个部分. 图像处理一般指数字图像处理 ( Digitallmage Processing). 其中,数字图像是指用工业相机.摄像机.扫描仪等设备经过拍摄得到的一个 大的二维数组. 该数组的元素称为像素,其值称为灰度值.而数字图像处理是 通过计算机对图像进行去除l噪声.增强.复原.分割.提取特征等处理的方法 和技术. 计算机视觉 (Computer Vision) 是一门研究如何使机器"看"的科学,具体 地说,就是是指用摄…
创建一个窗口#zeros(shape,dtype=float,order='C')#shape:形状,dtype:数据类型,可选参数,默认numpy.float64img = np.zeros((500,500,3),np.uint8) 读取图片: img=cv.imread('图片路径',flag);--彩色一般都是原图 flag=-1时,8位深度,原通道--原图 flag=0,8位深度,1通道--黑白 flag=1,   8位深度  ,3通道(彩色) flag=2,原深度,1通道--黑白 f…
转载自 亦轩Dhc http://www.cnblogs.com/daihengchen/p/5492729.html 学习笔记:使用opencv做双目测距(相机标定+立体匹配+测距).   最近在做双目测距,觉得有必要记录点东西,所以我的第一篇博客就这么诞生啦~ 双目测距属于立体视觉这一块,我觉得应该有很多人踩过这个坑了,但网上的资料依旧是云里雾里的,要么是理论讲一大堆,最后发现还不知道怎么做,要么就是直接代码一贴,让你懵逼. 所以今天我想做的,是尽量给大家一个明确的阐述,并且能够上手做出来.…
1 理论基础 学习Eigen人脸识别算法需要了解一下它用到的几个理论基础,现总结如下: 1.1 协方差矩阵 首先需要了解一下公式: 共公式可以看出:均值描述的是样本集合的平均值,而标准差描述的则是样本集合的各个样本点到均值的距离之平均.以一个国家国民收入为例,均值反映了平均收入,而均方差/方差则反映了贫富差距,如果两个国家国民收入均值相等,则标准差越大说明国家的国民收入越不均衡,贫富差距较大.以上公式都是用来描述一维数据量的,把方差公式推广到二维,则可得到协方差公式: 协方差表明了两个随机变量之…
最近做自然场景中的文字识别,想尝试些图像处理方法,感觉每一种方法都需要自己写很麻烦,自然就想到了强大的开源的跨平台计算机视觉库OpenCv.我用的是opencv2.4.9版本,VS用的是2010,他们的配置方法并不复杂,详细配置过程可参考下面链接: http://www.cnblogs.com/woshitianma/p/3853447.html 该作者写的真的很好,每一步都很详细,不过我的随笔题目既然叫做一次性配置,重点在一次性,下面请配置新手们,跟着我的步骤走: 1.打开VS,建一个控制台项…
这个拼图并非自带的直接使用sources中的代码.而是把必要的内容放到工程中,改造成自己的图像拼接.参考博文:http://www.tuicool.com/articles/fMbUfaF 该篇博文总体上来讲,很好的指导了思路,但是在尝试的过程中屡次碰壁.所以现在就来把整个搭建过程再来复述一遍. 希望有那么一点帮助. //前提先把opencv跑通,也就是上一篇随笔的内容.上一篇从体来讲还可以写的,主要是因为原博文非常详尽,所以我在写的时候就把我这里需要怎么跑,比较清楚的写了一下. 这篇真的是跑得…
在一个界面上显示一张图片.是一件非常easy的事情,但说到要显示视频.刚開始学习的人可能不知道怎么处理,事实上,一般来说能够理解为视频就是图片以人眼察觉不到的速度高速更新. 曾经用摄像头採集视频显示在终端.也是一样的方法.如今用到了OPENCV来处理图片,就随笔记录下. OPENCV的话比較简单.非常多东西都是封装好的.仅仅要调用方法就能够了,以下是简单的实现显示视频的方式: 首先创建视频显示窗体:cvNamedWindow("DIsplay",0); 创建指向视频文件的指针:CvCa…
参考自https://www.pyimagesearch.com/2017/04/03/facial-landmarks-dlib-opencv-python/ 在原有基础上有一部分的修改(image改为可选参数,若不填则为拍照后选取),如果有想深入学习的,可以去关注这位'吴克'先生的文章. 本文不涉及关于人脸检测的训练部分(虽然之后随着学习深入我会再发相关的随笔),只是简单的用轮子. 今天我们来使用dlib和opencv进行人脸的检测标注 首先安装opencv和dlib的方法 pip inst…
一.OpenCV预备: OpenCV是一个跨平台计算机视觉库,可以运行在Linux.Windows.Android和Mac OS操作系统上.它由一系列 C 函数和少量 C++ 类构成,同时提供了Python.Ruby.MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法,可以说是既轻量又高效. OpenCV现主要用于人机互动.人脸识别.动作识别.物体识别.图像分割.运动跟踪.机器人.运动分析和机器视觉等场景. OpenCV下载网址: https://www.opencv.org…
这两天学习了人脸识别,看了学长写的代码,边看边码边理解搞完了一边,再又是自己靠着理解和记忆硬码了一边,感觉还是很生疏,就只能来写个随笔加深一下印象了. 关于人脸识别,首先需要了解的是级联分类器CascadeClassifier,它可以它既可以是Haar特征,也可以是LBP特征的分类器,可以加载OpenCV所提供的库当中的.xml文件,文件存放在anaconda\pkgs\libopencv-3.4.1-h875b8b8_3\Library\etc的haarcascades文件夹中,包含了许多个.…
此篇随笔主要参考OpenCV 3.0.0的官方文档翻译而来,主要用作理解OpenCV对鱼眼相机的标定.图像校正.3D重建功能的理解. 版权所有,转载请注明出处~ xzrch@2018.09.29 参考链接:https://docs.opencv.org/3.0.0/db/d58/group__calib3d__fisheye.html#gad626a78de2b1dae7489e152a5a5a89e1 ----------------------------------------------…
本博也是在进行视频转码的学习道路上,也只是菜鸟一枚,收集了大量的资料,想在这和同路人分享一下 在博园里我发表一个JavaCV的随笔,里面介绍了JavaCV这个框架,它整合了OpenCV和ffmpeg等等视频编码所需的工具,下面就主要推荐一下这两个工具的使用资料 OpenCV(点击进入)   OpenCV语法参考文档OpenCV官方文档里面是英语可以用谷歌翻译一下 ffmpeg(点击进入)   本博对此也只是九牛一毛,所以直接将一些大佬的介绍推荐给大家把!   视频技术动手入门( 图像,视频,编解…
写这篇随笔的原因是因为我用了JavaCV一段时间后项目情况糟透了,可能大家很熟悉OpenCV,也有一部分人熟悉JavaCV,但是我相信真正把JavaCV用到生产上的不是太多. 我参与图片处理项目快一个月了,最初抱着很大兴趣参与这个项目,渐渐的发现这个领域并不太好走. 官网地址: JavaCV:http://bytedeco.org/,https://github.com/bytedeco/javacv OpenCV:https://docs.opencv.org JavaCV据说比OpenCV多…
OpenCV是进行图像处理的工具,也是计算机视觉领域近十几年不断发展和完善的产物.面对这个已基本成熟的开源库知识体系,我们新生代有必要不断地总结.回顾,以新的视角快速融入计算机视觉的奥秘世界. 从这篇随笔开始,让我们踏上重新回顾OpenCV进行图像处理的奇妙之旅. 1  图像处理基础 1.1  图像的读入.显示.保存 #图像读入 import cv2 img1 = cv2.imread(r'E:/python_opencv/tupian.jpg',0) #图像显示 cv2.imshow('tup…
这篇随笔介绍使用OpenCV进行图像处理的第二章 图像的运算,让我们踏上继续回顾OpenCV进行图像处理的奇妙之旅,不断地总结.回顾,以新的视角快速融入计算机视觉的奥秘世界. 2  图像的运算 复杂的图像处理是借助基础的图像运算来实现的,本章介绍图像运算的基本操作,为后续实现更加复杂的处理提供帮助. 2.1  图像加法运算 可以通过加法运算符"+"和cv2.add函数实现图像的加法运算,但这两种方法对数据求和后溢出255的处理方式不一样. 设a.b均为8为灰度图像,像素饱和值为255.…
这篇随笔介绍使用OpenCV进行图像处理的第三章 色彩空间. 3  色彩空间 之前的介绍,大多是基于BGR色彩空间进行的,但针对不同的实际情况,研究人员提出了许多色彩空间,它们都有各自擅长处理的领域.所以,我们需要学习如何对不同色彩空间的图像进行转换映射. 3.1  色彩空间及类型转换函数 (一)色彩空间 常见的色彩空间有GRAY色彩空间.HSV色彩空间.YCrCb色彩空间.CMYK色彩空间.XYZ色彩空间.YUV色彩空间等(颜色模型). 我们只展示出GRAY灰度模型转换为RGB颜色模型的方式:…
这篇随笔介绍使用OpenCV进行图像处理的第四章 几何变换. 4  几何变换 图像的几何变换是指将一幅图像映射到另一幅图像内.有缩放.翻转.仿射变换.透视.重映射等操作. 4.1  缩放 使用cv2.resize()函数实现对图像的缩放,但要注意cv2.resize()函数内的dsize参数与原图像的行列属性是相反的,也就是:目标图像的行数是原始图像的列数,目标图像的列数是原始图像的行数. 下面举例说明cv2.resize()函数的用法: 1 import cv2 2 img=cv2.imrea…
这篇随笔介绍使用OpenCV进行图像处理的第五章 阈值处理. 5  阈值处理 阈值是指像素到达某临界值.阈值处理表示像素到达某临界值后,对该像素点进行操作和处理. 例如:设定一幅图像素阈值为200,则图片中所有大于200的像素点设置为255,图片中所有小于或等于200的像素点设置为0. 5.1  处理类型 OpenCV中提供了cv2.threshold()函数进行阈值处理. 该函数中,要设定阈值处理的类型,常见类型如下: cv2.THRESH_BINARY               二值化阈值…
相信很多小伙伴都听过"滤波器"这个词,在通信领域,滤波器能够去除噪声信号等频率成分,然而在我们OpenCV中,"滤波"并不是对频率进行筛选去除,而是实现了图像的平滑处理.接下来,这篇随笔介绍使用OpenCV进行图像处理的第六章 图像平滑处理. 6  图像平滑处理 未经处理的图像含有噪声的影响,所以我们希望尽可能保留原图像的信息,过滤掉图像内部的噪声像素,得到平滑图像,这个过程称作图像的平滑处理. 一幅图像中,若某一像素点与周围像素值差异过大,该像素点很可能是噪声,则…
图像形态学主要从图像内提取分量信息,该分量信息通常对表达图像的特征具有重要意义.例如,在车牌号码识别中,能够使用形态学计算其重要特征信息,在进行识别时,只需对这些特征信息运算即可.图像形态学在目标视觉检测.医学图像处理.信息压缩提取等领域都有重要的应用.接下来,这篇随笔介绍使用OpenCV进行图像处理的第七章 图像形态学操作. 7  图像形态学操作 形态学操作主要包括:腐蚀.膨胀.开运算.闭运算.形态学梯度运算.顶帽运算(礼帽运算).黑帽运算等操作.其中,腐蚀和膨胀是形态学中最基本的运算,其他方…
随笔为博主原创,如需转载,请注明出处. opencv3.x以后Highgui不再使用,用Imgcodecs代替,引入import org.opencv.imgcodecs.Imgcodecs;即可. Mat image=Highgui.imread(image_path); //修改为 Mat img = Imgcodecs.imread("G:\\opencv01.png");…
在图像定位和模式识别时,经常需要把结果标注到图片上,标注内容可以是数字字母.矩形框等(opencv支持的)或者是中文汉字(借助freetype). 1.显示数字/矩形框 #include <opencv/highgui.h> using namespace cv; //绘画 Mat image = imread(image_root + filename); Point p1(x,y), p2(x+w,y+h), p0(x+w/, y+h/); ; //数字 rectangle(image,…
opencv中对图像的处理是最基本的操作,一般的图像类型为IplImage类型,但是当我们对图像进行处理的时候,多数都是对像素矩阵进行处理,所以这三个类型之间的转换会对我们的工作带来便利. Mat类型较CvMat和IplImage有更强的矩阵运算能力,支持常见的矩阵运算(参照Matlab中的各种矩阵运算),所以将IplImage类型和CvMat类型转换为Mat类型更易于数据处理. Mat类型可用于直接存储图像信息,通过函数imread.imwrite.imshow等实现(与Matlab中的函数相…
级联分类器检测类CascadeClassifier,提供了两个重要的方法: CascadeClassifier cascade_classifier; cascade_classifier.load( cascade_dir + cascade_name );// 加载 vector<Rect> object_rect; cascade_classifier.detectMultiScale( img1, object_rect, |CASCADE_SCALE_IMAGE, Size(,) )…
最近老师布置了一个作业,是做一个基于视频的车辆检测与追踪,用了大概两周的时间做了一个简单的,效果不是很理想,但抑制不住想把自己的一些认识写下来,这里就把一些网络上的博客整理一下分享给大家,希望帮助到大家,因为本人也是个小白,所以如果有什么讲的不对的地方希望各位看官多指正! 一.安装OpenCV和搭建环境 首先呢,大家得安装OpenCV,这里网络上有很多相关的教程,这里就不赘述了!我本人用的是OpenCV3.10+VS2015. 这里就贴出几个教程: 下载地址:http://opencv.org/…
1 背景及理论基础 人脸识别是指将一个需要识别的人脸和人脸库中的某个人脸对应起来(类似于指纹识别),目的是完成识别功能,该术语需要和人脸检测进行区分,人脸检测是在一张图片中把人脸定位出来,完成的是搜寻的功能.从OpenCV2.4开始,加入了新的类FaceRecognizer,该类用于人脸识别,使用它可以方便地进行相关识别实验. 原始的LBP算子定义为在3*3的窗口内,以窗口中心像素为阈值,将相邻的8个像素的灰度值与其进行比较,若周围像素值大于或等于中心像素值,则该像素点的位置被标记为1,否则为0…
1 理论介绍 模板匹配是在一幅图像中寻找一个特定目标的方法之一,这种方法的原理非常简单,遍历图像中的每一个可能的位置,比较各处与模板是否“相似”,当相似度足够高时,就认为找到了我们的目标.OpenCV提供了6种模板匹配算法: 平方差匹配法CV_TM_SQDIFF 归一化平方差匹配法CV_TM_SQDIFF_NORMED 相关匹配法CV_TM_CCORR 归一化相关匹配法CV_TM_CCORR_NORMED 相关系数匹配法CV_TM_CCOEFF 归一化相关系数匹配法CV_TM_CCOEFF_NO…
目录: 1,过程感慨: 2,运行环境: 3,准备工作: 4,编译 .so 5,遇到的关键问题及其解决方法 6,实现效果截图. (原创:转载声明出处:http://www.cnblogs.com/linguanh/) 1,过程感慨(想直接看教程,请跳过此部分) 在写具体内容之前,我先说下我搞这个东西的过程,由于导师之前说过要搞个图像匹配的androi APP,具体就是匹配前后两张图片的相似度,类似 安卓5.0 引入的刷脸解锁. 当时觉得,要实现这样一个东西,肯定没现成的API 可供使用,第一时间想…
初探 AI人工智能系列随笔:syntaxnet 初探(1)…
CoreCLR配置系列 在Windows上编译和调试CoreCLR GC探索系列 C++随笔:.NET CoreCLR之GC探索(1) C++随笔:.NET CoreCLR之GC探索(2) C++随笔:.NET CoreCLR之GC探索(3) C++随笔:.NET CoreCLR之GC探索(4) CoreCLR探索系列 C++随笔:.NET CoreCLR之corleCLR核心探索之coreconsole(1) C++随笔:.NET CoreCLR之corleCLR核心探索之coreconsol…