opencv
ziding5827
从事的领域是计算机视觉,模式识别,AR 请大家多多指教
展开
-
opencv12-计算物体旋转角度
求取的角度是负值,我在图中画了一个垂直的形状,得出的结果是0 ,原因大家自己去理解。废话不多说,直接上代码:#include #include #include #include #include #include using namespace std;using namespace cv;int main(){ // Read image RNG rng(1原创 2017-08-16 11:48:39 · 9894 阅读 · 2 评论 -
opencv15-cvCreateCameraCapture使用出现灰屏
今天调试了一个在一个界面中显示多个窗口的程序,需要调用USB摄像头。部分代码:capture = cvCreateCameraCapture( 0 ); if(!capture){ cout<<"NO camera"<<endl; } IplImage* frame=0; frame=cvQueryFrame(capture);while(1){原创 2017-08-26 10:52:17 · 1280 阅读 · 0 评论 -
图像语义分割的总结和资源推荐
本来想把自己的学习资料整理放上来,结果看到这篇博文,特此拿来跟大家一起分享。参考:http://www.cnblogs.com/xiaoming123abc/p/5883927.html资源:http://blog.sina.com.cn/s/blog_5309cefc01014nri.html祝大家顺利。转载 2017-08-22 16:20:10 · 449 阅读 · 0 评论 -
opencv14-图像分割--超像素分割与形态学分割
二值形态学在二值图像上进行运算,二值图像是从其他等级的强度通道产生的。为了进行图像分析,采用的方法是去除形状噪声或异常值以及加强主要特征点。形态学可用于目标识别、细胞生物学、医学、粒子分析和自动显微镜。二值形态学是一个邻域计算,结构核通过定义哪些周围像素对形态有益,然后进行形态学处理。但是它是从图像二值化开始的。我们常用到的膨胀是一个布尔或(or)运算,腐蚀是布尔与(and)运算。腐蚀是为原创 2017-08-22 09:22:06 · 9983 阅读 · 2 评论 -
opencv3-摄像头的使用
大致把自己在这一部分的思路和遇到的问题记录一下所说的视频帧就是按序列排放的一组图像,这些图像通过一定的间隔进行排序,也就是帧率,把它们组合起来就是动态的视频了。接下来就开始介绍opencv中读取USB摄像头和本地视频文件想要打开USB摄像头,就要指定ID号。以上两种读取大致的流程是:原创 2017-07-31 09:07:27 · 2586 阅读 · 0 评论 -
opencv11-计算不规则图像的质心
图像矩是标量,类似于大家熟悉的统计方法,如均值、方差、偏移和峰值。矩非常适合描述具有多边形形状的特征和一般的特征度量信息,比如梯度分布。图像矩可以基于标量的点值,也可以基于Fourier或Zernike方法的基函数。矩可以描述成一个函数在基空间的投影,例如,Fourier变换将函数投影到谐波函数基上。注意:在形状描述的上下文中,一维矩和二维矩在概念上有联系。一维均质对应于二维的质心,一维的原创 2017-08-11 16:31:00 · 11423 阅读 · 0 评论 -
opencv10-图像分割-阈值处理
灰度直方图是一个离散函数,它表示图像每一个灰度级与该灰度级出现频率的对应关系。一般计算步骤:1、统计各个灰度值的像素个数2、根据统计表画出直方图性质:1、只反映该图像中不同灰度值出现的次数,并不能反映某一灰度值像素所在的位置2、任何一张图像能唯一的确定一个与它对应的直方图,而一个直方图可以有很多个不同的图像3、如果一张图片被分成好几份,那这好几份的小图的直方图加起来就是全图原创 2017-08-11 16:26:06 · 833 阅读 · 0 评论 -
opencv0-opencv编程工具
我用的是VS,所以对VS做了点功课,找了些资料,全当入门!理解工程含义的基础COMCOM(Component Object Model)组件对象模型是microsoft制定的一个组件软件标准,跟unix上的CORBA一样。凡是遵循COM标准开发出来的组件称为COM组件。目地是实现二进制方式的软件重用 。在windows平台上,COM的实现形式有DLL(进程内原创 2017-08-18 16:07:55 · 233 阅读 · 0 评论 -
opencv7-ROI
图像感兴趣区域有两种表现的形式,一种是直接在感兴趣处的点上加上变化;另外一种是将感兴趣处那点的像素改为想改变的。就比如两张图像的融合-一种做法是两张图片直接相加,但是会出现像素饱和,效果可能不好。Mat imageROI;imageROI(Rect(240,300,logo.cols,logo.rows));addWeighted(imageROI,1.0,logo,0.3,原创 2017-08-04 14:18:03 · 169 阅读 · 0 评论 -
opencv8-图像分割-分水岭算法
因为现在在做的项目里牵涉到图像分割,这两天一直在找各种资料。终于可以更新了!先补充点基础知识:数字图像的质量取决于层次(Hierarchy)、对比度、清晰度。层次越多视觉效果就越好。对比度=最大亮度/最小亮度。概念:图像分割就是指根据图像的灰度、颜色、纹理和形状等特征把图像划分成若干互不交叠的区域,并使这些特征在同一区域内呈现出相似性。方法:1、基于阈值的分割方法原创 2017-08-10 14:03:49 · 613 阅读 · 0 评论 -
opencv9-形态学与分割
为了简单起见,通过定义形态学作为形状和边界界定,图像分割的目标是定义具有内部相似性的区域,例如纹理或统计相似性。形态学用于识别多边形形状的区域特征,区域特征可以用形状度量进行描述。根据每个区域的策略或处理目标不同,图像被分割成多个区域,以便可以独立处理和分析。方法说明形态学分割分割区域由阈值化和形态学算子来确定原创 2017-08-10 17:04:09 · 1158 阅读 · 0 评论 -
opencv6-最小外接矩形minAreaRect
最近在做目标跟踪相关的实验,其中牵涉到最小外接矩形或最小外接圆形的函数使用,把自己实验的过程记录一下,希望可以帮助大家。minAreaRect()函数用于给定的2D点集,函数原型:RotatedRect minAreaRect(InputArray points);只有一个输入参数,类型可以是vector<>或MatminEnclosingCircle()函数原原创 2017-08-03 10:48:37 · 1661 阅读 · 0 评论 -
opencv5-读取像素
题外话:像素大战,感兴趣的可以去看这个电影,就能更好的理解像素是个什么东东。像素(pixel):由Picture图像和Element元素组成,是图片视频的基本单元。也就是我们通常说的分辨率。当图片尺寸以像素为单位时,每一厘米等于28像素,比如15*15厘米的图片,等于420*420像素的长度。在opencv中经常出现通道,所以在单通道、多通道下的图像的像素是这样表示的图画的不好看,原创 2017-08-02 13:58:41 · 388 阅读 · 0 评论 -
opencv1-基础库
有个博客就是感觉不错,可以把自己的疑惑和解决的方法记录下来,作为初学者,有出错的地方,请大家多多指教!我在网上参考看了很多的学习指导资料,我自己大致的学习过程是先在opencv官方网站上学习各个库,弄明白它们都是干啥的,这样就不担心头文件的使用了。我会按照自己学习的路径写博客,希望大家多多指教。【calib3d】:摄像机校准、标定和三维重建会使用到。大致的应用是单目相机的标定、双目相机原创 2017-07-28 08:36:56 · 275 阅读 · 0 评论 -
opencv2-main函数
虽然之前看过opencv相关的书,但是之前自己都是大概潦潦草草看了一通,现在又重新从头开始细致梳理一遍,让大家见笑了。我的思路是按照程序来的,知道头文件都有哪些之后,下面可能要遇到命名空间,这一部分就不详细说了,大家可以去看C++primemain函数有好多种方式,刚开始学习一般都是int main(){},参数为空,这样学习会比较轻松。我们见到的Main函数中经常带有argc\arg原创 2017-07-29 08:26:52 · 387 阅读 · 0 评论 -
opencv0-入门必知
做计算机视觉和图像处理方面的研究工作,最重要的是两个问题:其一是要把握住国际上最前沿的内容;其二是所作工作要具备很高的实用背景。解决第一个问题的办法就是找出这个方向公认最高成就的几个超级专家(看看他们都在作什么)和最权威的出版物(阅读上面最新的文献),解决第二个问题的办法是你最好能够找到一个实际应用的项目,边做边写文章。 做好这几点的途径之一就是利用网络资源,利用权威网站和专家们的个人主页。转载 2017-07-29 13:39:13 · 470 阅读 · 0 评论 -
opencv4-videoCapture
opencv中VideoCapture类的使用还是能实现相当多的效果的。但是学习中我也是遇到好多困惑的地方,碎碎念似的记录一下我是用的摄像头就是普通的qq聊天式的摄像头,很便宜。接下来会单独写一篇跟大家介绍摄像头。因为这一篇是读取的avi文件。有关于avi,flv等有啥区别,大家可以参考这一篇博文http://blog.csdn.net/yuyin86/article/details/原创 2017-08-01 14:48:13 · 2152 阅读 · 0 评论 -
opencv13-#pragma comment()的使用和注意
#pragma comment(comment-type[,”commentstring”])Comment-type:一个预定义的标识符,指定注释的类型。应该是compiler,exestr,lib,linker之一。Commentstring:是一个为comment-type提供附加信息的字符串-compiler:放置编译器的版本或者名字到一个对象文件,该选项是被linker忽略的原创 2017-08-16 14:02:08 · 1955 阅读 · 0 评论 -
opencv16--隐藏console
在创建win32窗口程序的时候,老是会显示黑色的console窗口,当我们想显示一些额外文本信息的时候,比较有用,有些时候为了更好的展示程序,我们需要隐藏console窗口。隐藏console窗口有两种实现方式第一种:#pragma指令的使用。在main()函数之前添加如下的代码// 隐藏 console 窗口#pragma comment( linker, "/subsystem:原创 2017-08-26 11:14:11 · 446 阅读 · 0 评论