创建一个opencv窗口

时间:2011-01-03 03:00:55

标签: image image-processing opencv

新年快乐。

我正在开展一个项目,我现在要做的是制作一个大的黑色窗口,以便将拍摄视频放在中间。我已经用它的窗口捕获了视频,现在我想要创建一个比第一个更大的新窗口,我想在这个窗口的中间放置捕获的帧视频。

现在我的问题是我得到了与我制作的第一个窗口相同的大小,我希望窗口的大小比捕获的帧大,所以让我们假设一个帧被捕获并且在它周围是一个黑色空间。我的目标是制作一个更大的背景是黑色的新的,在捕获的框架的中间?

这就是我正在做的,这是代码

    cvNamedWindow("stabilized image", CV_WINDOW_AUTOSIZE );
    IplImage* image = cvCreateImage(cvSize(900,650),IPL_DEPTH_8U,3);

    cvZero( image );
    image=cvCloneImage(frame);

    cvShowImage("stabilized image", image );

2 个答案:

答案 0 :(得分:2)

你应该将你捕获的框架 cvCopy()放入(黑色框架的中心)。
设置与位于黑框中心的源框架大小相同的ROI,并将cvCopy()放入其中。

答案 1 :(得分:1)

使用 cvNamedWindow 创建的窗口在设置 CV_WINDOW_AUTOSIZE 时将具有图像的大小。

要调整大小,您必须执行以下操作:

cvResizeWindow(const char* name, int width, int height)

所以这应该成功:

cvNamedWindow("stabilized image", CV_WINDOW_AUTOSIZE );
IplImage* image = cvCreateImage(cvSize(900,650),IPL_DEPTH_8U,3);

cvZero( image );
image=cvCloneImage(frame);

cvShowImage("stabilized image", image );
cvResizeWindow("stabilized image", 1024, 768);

检查:

http://opencv.willowgarage.com/documentation/user_interface.html?highlight=cvnamedwindow#cvNamedWindow