我正在开展一个项目,我现在要做的是制作一个大的黑色窗口,以便将拍摄视频放在中间。我已经用它的窗口捕获了视频,现在我想要创建一个比第一个更大的新窗口,我想在这个窗口的中间放置捕获的帧视频。
现在我的问题是我得到了与我制作的第一个窗口相同的大小,我希望窗口的大小比捕获的帧大,所以让我们假设一个帧被捕获并且在它周围是一个黑色空间。我的目标是制作一个更大的背景是黑色的新的,在捕获的框架的中间?
这就是我正在做的,这是代码
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 );
答案 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);
检查: