OpenCV----疑惑问题
来源:互联网 发布:yum install lftp 编辑:程序博客网 时间:2024/06/06 09:00
《OpenCV教程--基础篇》里面讲了一个二维数组排序的程序,在程序中都是随机生成的数据,但是为什么每次生成的数据都一样,感到疑惑。贴出来和大家探讨一下:
源程序如下:
/* 程序名:cvmat.c
功能:说明矩阵的一些操作方法
*/
#include "cv.h"
#include "highgui.h"
#include <stdio.h>
void PrintMat(CvMat *A); // 显示矩阵
void GenRandn(CvMat *arr, int seed); // 生成正态分布的随机矩阵
void GenRand(CvMat *arr, int seed); // 生成[0,1]均匀分布的随机矩阵
static int cmp_func( const void* _a, const void* _b, void* userdata ); // 比较函数
void Test_Multiply(); // 测试矩阵乘法
void Test_cvGetRawData(); // 将缓存数据填入CvMat数组中
void Test_DCT(); // 计算DCT变换
void Test_Rand(); // 生成随机数
void Test_SeqSort(); // 二维序列排序
int main()
{
Test_SeqSort(); // pass
return 0;
}
// Testing: Sort 2d points in top-to-bottom left-to-right order.
void Test_SeqSort()
{
CvMemStorage* storage = cvCreateMemStorage(0);
CvSeq* seq = cvCreateSeq( CV_32SC2, sizeof(CvSeq), sizeof(CvPoint), storage );
int i;
printf("/n=== Test sequence sorting ===");
for( i = 0; i < 10; i++ )
{
CvPoint pt;
pt.x = rand() % 1000; // 1000 以内的随机数
pt.y = rand() % 1000;
cvSeqPush( seq, &pt );
}
printf("/nOriginal point set:/n");
for( i = 0; i < seq->total; i++ )
{
CvPoint* pt = (CvPoint*)cvGetSeqElem( seq, i );
printf( "(%d,%d)/n", pt->x, pt->y );
}
cvSeqSort( seq, cmp_func, 0 /* userdata is not used here */ );
/* print out the sorted sequence */
printf("/nAfter sorting:/n");
for( i = 0; i < seq->total; i++ )
{
CvPoint* pt = (CvPoint*)cvGetSeqElem( seq, i );
printf( "(%d,%d)/n", pt->x, pt->y );
}
cvClearSeq( seq ); // Sequence clearing should be done before storage clearing
cvReleaseMemStorage( &storage );
}
static int cmp_func( const void* _a, const void* _b, void* userdata )
{
CvPoint* a = (CvPoint*)_a;
CvPoint* b = (CvPoint*)_b;
int y_diff = a->y - b->y;
int x_diff = a->x - b->x;
return y_diff ? y_diff : x_diff;
}
运行结果:
和书上运行的结果也一摸一样。有懂的指点一下,谢谢!
- OpenCV----疑惑问题
- opencv的cvcopy问题,疑惑!!!!
- 疑惑问题
- 问题疑惑
- 最近疑惑的问题
- 一些疑惑问题
- 疑惑的问题
- 几个疑惑的问题
- SQL疑惑问题
- 有关opencv轮廓的几点疑惑
- HSV 空间在OPENCV 中的一些疑惑
- 【学习笔记】【python+opencv】疑惑记录
- 自己一个疑惑的问题
- C++并发问题的疑惑
- C指针内存问题疑惑
- 百钱百鸡问题的一个疑惑
- 疑惑
- 疑惑
- A^B mod C
- VC禁止在任务管理器中结束本进程
- C#程序打包,自动安装SQL数据库
- PKU1579 Function Run Fun (DP水题)
- 30个经典代码网站收藏
- OpenCV----疑惑问题
- acm应该注意的数据类型问题
- bat处理.net安装打包问题,方便快捷。
- 嵌入式开发板
- javascript简单的动画效果
- java零基础第一课
- 为什么xp文件夹上没有显示安全选项卡?__xp技巧
- delphi图表控件TChart使用FAQ
- 读《走出软件作坊》后感