2017-10-17 76 views
0

我被告知你可以用openCV中的垫子制作游戏和动画,但我一直在尝试几个小时,但我无法弄清楚如何去做。openCV中的垫子动画

我试图将静止图像复制到单个图像的矩阵中,该图像完美地工作,但不能用于动画或游戏。现在我正在尝试使用一个窗口(我认为这个窗口会更具交互性),但我一次只能显示一个图像,而塔的矩阵不能在不崩溃的情况下添加到窗口中。

这是代码,我尝试将塔像素复制到窗口,但它用塔的像素填充窗口。我也尝试使用rowRange这样tower.copyTo(window.rowRange(375, 425).colRange(225, 275));但它崩溃。

int widthWindow = 1600; 
int heightWindow = 800; 

Mat window, tower;  
tower = Mat::zeros(Size(50, 50), CV_8UC1); 

//Creating the window 
namedWindow("Window", WINDOW_NORMAL); 
resizeWindow("Window", widthWindow, heightWindow); 

//Graphics 
rectangle(tower, Point(0, 0), Point(50, 50), Scalar(255), -1, 8, 0); //Draw of the Tower 
tower.copyTo(window); 

//Show Image 
imshow("Window",window); 

是否有任何解决方案如何在openCV中使用mat创建游戏或动画?

此致 卡斯帕

+0

OpenCV具有非常有限的GUI功能,主要用于调试目的。 – ZdaR

+0

无论谁推荐你这样做**真的是错误的**。你最好使用其他的库,比如用于GUI的Qt,或者更好地使用Unity。你可以用OpenCV来做到这一点,但它会非常麻烦。 OpenCV不是这个的合适工具 – Miki

+0

也许看看SDL https://www.libsdl.org –

回答

1

OpenCV的是测量和分析工具,而不是渲染器。我会建议你使用OpenGL,Unity或DirectX。正如评论中所提到的,OpenCV具有较差的GUI和渲染能力。