opencv预览摄像头时,想改变预览窗口的大小和位置

苏克贝塔03 2015-12-06 11:03:20
大家好,我用的vs2010+opencv2.3
现在想在程序里面预览与电脑相连的720p的摄像头,但是由于分辨率比较大,所以预览的窗口也比较大,
我用API函数MoveWindow,虽然可以缩小窗口,但是只是预览到实际的一角,并不是缩放了预览视频。
请问大家有什么其他办法吗?
我现在的方法是VideoCapture::open,namedWindow, imShow几个函数
我想最好能让视频预览到现有的指定的窗口上面。。

VideoCapture cap(0); //打开默认的摄像头号
if(!cap.isOpened()) //检测是否打开成功
return -1;

namedWindow("edges",1);
while(1)
{
Mat frame;
cap >> frame; // 从摄像头中获取新的一帧
//cvtColor(frame, edges, CV_BGR2GRAY);
//GaussianBlur(edges, edges, Size(7,7), 1.5, 1.5);
//Canny(edges, edges, 0, 30, 3);
imshow("edges", frame);
if(waitKey(30) >= 0) break;
}
...全文
4055 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
shiter 2016-06-29
  • 打赏
  • 举报
回复
搞好了,就结贴啊,不然我就帮你结贴了
lx624909677 2015-12-14
  • 打赏
  • 举报
回复
OpenCV貌似只有在线的帮助文档吧:http://docs.opencv.org/ 你的需求,没大看懂,是找边缘吗?
赵4老师 2015-12-14
  • 打赏
  • 举报
回复
头文件都在你手里,打开看看里面的函数原型们。
shiter 2015-12-13
  • 打赏
  • 举报
回复
什么模版运算来着?加一下还是减一下,你做好了,分享一下看看哇,哈哈
苏克贝塔03 2015-12-12
  • 打赏
  • 举报
回复
谢谢各位版主。是一个参改了就可以了。

namedWindow("wisemore cam preview",0);
cvResizeWindow("wisemore cam preview", 640, 480);
namedWindow第二个参数为0就可以改变窗口大小了。
引用 1 楼 lx624909677 的回复:
MoveWindow好像不能改变imshow出来的那个窗口,imshow函数你看下第三个参数是干嘛的,如果没有就看下namedWindow的每个参数,我记得有个参数是可以设置窗口属性的,不设置是默认的,也就是窗口大小根据图像分辨率来定,还有个属性,是可以手动调节窗口大小
请问opencv的手册在哪里可以下载到,我手头上只有一本opencv中文版。 另外还有个问题想请教大家,希望给个思路,我想从一张图片里面扣到一个纸张的位置,也就是我想生成一个新的图片将纸张外缘都剪掉。 谢谢。
shiter 2015-12-07
  • 打赏
  • 举报
回复



 moveWindow("Scribble Image", 1,1);  
   moveWindow("Input Image", inputImg.cols + 50,1);  
   moveWindow("Bin Per Pixel", 2*(inputImg.cols + 50),1);  
  moveWindow("Edges", 2*(inputImg.cols + 55),1);  

imshow出来后再移动就行,你移动的单位参数估计得微调一下
ssbqrm 2015-12-07
  • 打赏
  • 举报
回复
可以看下OpenCv的手册,有个ResizeWindow函数
lx624909677 2015-12-06
  • 打赏
  • 举报
回复
MoveWindow好像不能改变imshow出来的那个窗口,imshow函数你看下第三个参数是干嘛的,如果没有就看下namedWindow的每个参数,我记得有个参数是可以设置窗口属性的,不设置是默认的,也就是窗口大小根据图像分辨率来定,还有个属性,是可以手动调节窗口大小

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧