VideoCapture capture(0);
// capture.open(0);
/*
while ( capture.isOpened())
{
capture >> fram;
fram.convertTo(fram, CV_32FC3);
normalize(fram, fram, 1, 0, CV_MINMAX);
imshow("src", fram);
以上写法会出现错误,原因是这里没有加入判断,当定义的fram为空时的判断
这样的程序在debug时是正确的,自己猜测的原因是,debug时,处理速度会很慢,这是,第一帧也正常了,内存不报错。
正确写法应该是:
Mat fram, prefram, result, fg;
int framNum = 0;
int count = 0;
VideoCapture capture;
int camOpen = capture.open(CV_CAP_ANY);
namedWindow("window", CV_WINDOW_AUTOSIZE);
while (true) {
capture >> fram;
if (!fram.empty()){
在if条件语句中加入自己的处理语句。这样就正确了。。
最后
以上就是舒适水壶最近收集整理的关于使用imshow mat 出现 Opencv Error:*** in cv::imshow的全部内容,更多相关使用imshow内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复