OpenCV实践之路——circle函数实现出下落的小球动画

今天本来想到如何自己实现下SIFT呢,就想先学会如何在图像检测出最大值然后再最大值上画圆吧。就是这么简单的不要不要的。慢慢来嘛。于是开始先画圆,然后就停不下来了。。。画个圆之后突发奇想怎么让圆实现下落的效果呢,于是就开始各种尝试,最后终于还是试出来了。本来实现的更复杂点的,比如小球随机运动,达到windows屏保气泡的效果。但是现在已经是午夜了,先把这个简单的记录下来,复杂的慢慢研究吧。

下面是在VS2013中实现的代码:

#include<opencv2\core\core.hpp>
#include<opencv2\highgui\highgui.hpp>

using namespace cv;

int main()
{
	
	int y = 1;
	while (y > 0 )
	{
		Mat img = imread("miao.jpg"), temp;
		int radius = 30;
		Point center[3];
		for (int i = 0; i <= 3; i++)
		{
			int x[] = { img.cols / 4, img.cols / 2, 3 * img.cols / 4 };
			center[i] = Point(x[i], y);
			circle(img, center[i], radius, Scalar(0, 255, 0), -1, 8, 0);
		}
		
		namedWindow("circle", 0);
		imshow("circle", img);
		waitKey(1);
		
		y+=10;
		if (y > img.rows)
		{
			y = 1;
		}
	}
	while (char(waitKey(1)) != 'q')  {}
	return 0;
}

OpenCV实践之路——circle函数实现出下落的小球动画_第1张图片

想做的事情太多,但是能力只能做这么简单的事情,慢慢来。

2016.3.3添加动态图:


你可能感兴趣的:(C++,动画,opencv,Studio,Visual)