您的位置:首页 > 运维架构

用OpenCV随机显示 一个圆圈,并保存成文件

2011-08-12 12:52 471 查看
用OpenCV 2.2 随机显示圆圈,并保存成test.avi文件

这程序可以用来作为 Kalman, Particle Filter 的追踪目标。

#include <stdlib.h>

#include <math.h>

#include "opencv2/opencv.hpp"

using namespace cv;

bool inRange (double x, double lowerBand, double upperBand)

{

return (x >= lowerBand) && (x <= upperBand);

}

int main()

{

int winWidth = 480;

int winHeight = 320;

char winName[] = "Particle Filter Sample";

int targetRadius = 5;

int targetRangeWidth = 10;

int targetRangeHeight = 10;

Mat image(winHeight, winWidth, CV_8UC3);

Point2i target(winWidth / 2, winHeight / 2);

// record video

VideoWriter record("test.avi", CV_FOURCC('D','I','V','X'), 30, Point(winWidth, winHeight), true);

srand(time(0));

for (;;) {

// Clears Previous target

circle(image, target,

targetRadius, Scalar(0, 0, 0), -1);

target.x += rand() % (2 * targetRangeWidth) - targetRangeWidth;

target.y += rand() % (2 * targetRangeHeight) - targetRangeHeight;

if (!inRange(target.x, 0, winWidth)) {

target.x = winWidth / 2;

}

if (!inRange(target.y, 0, winHeight)) {

target.y = winHeight / 2;

}

circle(image, target,

targetRadius, Scalar(255, 255, 255), -1);

imshow(winName, image);

record << image;

if(waitKey(30) == 27)

break;

}

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐