编辑:我重写了我复制的代码,现在它成功接收了流,但是当代码到达namedWindow时,我的字符串末尾没有输出或有时“异常终止”
错误:(-215:断言失败)函数'imshow'中的size.width> 0 && size.height> 0
我的电脑:一台debian虚拟机
注意:<>中的内容已替换为我的IP地址
#include <stdio.h>
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;
int main(int argc, char** argv )
{
VideoCapture vcap;
Mat image;
const string videoStreamAddress = "udp://<myIp>:<port>";
vcap.open("udp://<myIp>:<port>");
if(!vcap.isOpened())
{
printf("nope");
}
else
{
printf("sucsess");
namedWindow("stuff", WINDOW_NORMAL);
imshow("stuff", image);
}
}
what my raspberry pi executes:
/ opt / vc / bin / raspivid -t 0 -w 300 -h 300 -hf -fps 20 -o-| nc IpAddressInCode PortInCode
答案 0 :(得分:0)
好吧,显然问题出在
1.ImShow需要显示一个框架,并且在我的代码中没有为“图像”赋值的地方
错误:(-215:断言失败)函数'imshow'中的size.width> 0 && size.height> 0
#include <stdio.h>
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;
int main(int argc, char** argv )
{
VideoCapture vcap;
const string videoStreamAddress = "udp://<myIp>:<myPort>";
vcap.open(videoStreamAddress);
if(!vcap.isOpened())
{
printf("nope");
}
else
{
for(;;)
{
Mat frame;
vcap >> frame;
imshow("stuff", frame);
if( waitKey(10) == 27) break;
}
printf("Sucsess!");
}
return 0;
}