2013年9月17日

函数的形参(普通形参、指针形参、引用形参)

摘要: int n=10;add1(n);1、普通形参void add1(int v1) { v1+=1;/对实参无影响 }这是最普通的形参方式,形参仅仅为实参的一个副本,对形参的任何操作不会修改实参的值。例中对v1的操作只是修改了实参的一个副本。实参不变int *p=&n;add2(p);//p为指向n的指针或者直接add2(&n)2、指针形参void add2(int *p) { *p+=1;//实参才会变 p+=1;//对实参无影响 (*p)++;//实参才会变 } 使用指针做为函数的形参,只有对指针所指对象进行的操作才会改变实参的值。要实现改变实参,还有一种更安全更自然的方法- 阅读全文

posted @ 2013-09-17 00:10 神一样的魔鬼 阅读(2533) 评论(0) 推荐(0) 编辑

CvArr、Mat、CvMat、IplImage、BYTE转换(总结而来)

摘要: 一、Mat类型:矩阵类型,Matrix。 在openCV中,Mat是一个多维的密集数据数组。可以用来处理向量和矩阵、图像、直方图等等常见的多维数据。 Mat有3个重要的方法: 1、Mat mat = imread(const String* filename); 读取图像 2、imshow(const string frameName, InputArray mat); 显示图像 3、imwrite (const string& filename, InputArray img); 储存图像 Mat类型较CvMat与IplImage类型来说,有更强的矩阵运算能力,支持常见的矩阵运算。在 阅读全文

posted @ 2013-09-17 00:09 神一样的魔鬼 阅读(288) 评论(0) 推荐(0) 编辑

2013年9月16日

【Media Foundation】简单实例 - 使用Media Session来播放文件

摘要: 参考MSDN官方的页面:http://msdn.microsoft.com/en-us/library/ms703190(v=vs.85)本文详细演示了如何使用Media Foundation中的Media Session对象来播放媒体文件。也就是不自己编写/自定义任何的Media Foundation组件,一切都是用现成的,以及让Media Foundation“自动完成”的(如Topology的解析)。Media Foundation的API会根据文件的路径或URL智能创建合适的media source组件,并会智能地在media source和音视频渲染器(renderer)之间添加合适 阅读全文

posted @ 2013-09-16 23:58 神一样的魔鬼 阅读(2315) 评论(0) 推荐(0) 编辑

[转]opencv使用cvFindContours提取联通域

摘要: // m_imgFeature为黑白目标图像,白色为前景,黑色为背景// 注意此函数会修改m_imgFeature内容。若其不可更改,应另建立副本// 1. count contour CvMemStorage* storage = 0; storage = cvCreateMemStorage(0); //开辟默认大小的空间 CvSeq* contour = 0; cvFindContours( m_imgFeature, storage, &contour, sizeof(CvContour), CV_RETR_EXTERNAL, CV_CHAIN_APPROX_SIMPLE ); 阅读全文

posted @ 2013-09-16 23:42 神一样的魔鬼 阅读(3466) 评论(0) 推荐(0) 编辑

(转)RGB、YUY2、YUYV、YVYU、UYVY、AYUV格式详解

摘要: YUY2经常用于电视制式以及许多摄像头的输出格式.而我们在处理时经常需要将其转化为RGB进行处理,这里简单介绍下YUY2(YUV)与RGB之间相互转化的关系:YUY2(YUV) To RGB:C = Y - 16D = U - 128E = V - 128R = clip(( 298 * C + 409 * E + 128) >> 8) G = clip(( 298 * C - 100 * D - 208 * E + 128) >> 8) B = clip(( 298 * C + 516 * D + 128) >> 8)其中 clip()为限制函数,将其取值 阅读全文

posted @ 2013-09-16 23:38 神一样的魔鬼 阅读(10437) 评论(0) 推荐(0) 编辑

2011年9月17日

Matlab___VPA函数

摘要: VPA函数matlab控制运算精度用的是digits和vpa这两个函数digits用于规定运算精度,比如:digits(20);这个语句就规定了运算精度是20位有效数字。但并不是规定了就可以使用,因为实际编程中,我们可能有些运算需要控制精度,而有些不需要控制。vpa就用于解决这个问题,凡是用需要控制精度的,我们都对运算表达式使用vpa函数。例如:digits(5);a=vpa(sqrt(2));这样a的值就是1.4142,而不是准确的1.4142135623730950488016887242097又如:digits(5);a=vpa(sqrt(2));b=sqrt(2);这样a的值是1.41 阅读全文

posted @ 2011-09-17 20:25 神一样的魔鬼 阅读(3575) 评论(0) 推荐(0) 编辑

导航