鱼C论坛

 找回密码
 立即注册
查看: 2457|回复: 1

[已解决]opencv问题求助

[复制链接]
发表于 2021-5-20 18:17:36 | 显示全部楼层 |阅读模式
10鱼币
我用安讯士摄像头实时推送视频流,我想在视频流实时显示类似于倒车的八字线,但我line写进去了无法显示出来,就很难受
#if 1//运行前改成1
#include<opencv2/opencv.hpp>
#include<stdlib.h>
#include <opencv2/highgui/highgui_c.h>
using namespace cv;
using namespace std;

void main()
{
        VideoCapture cap;
        //cap.open(1); //打开摄像头
        cap.open("rtsp://root:000000@169.254.246.218/axis-media/media.amp");
        if (!cap.isOpened())//如果视频不能正常打开则返回
                return;
        cvWaitKey(30);
        Mat frame;//用于保存每一帧图像
        cap >> frame;
        imshow("【双目原始视图】", frame);
        line(frame, cvPoint(100, 100), cvPoint(250, 250), cvScalar(255, 255, 0), 2);
        cvWaitKey(300);
        //system("C:\\"Program Files (x86)"\\"CHUSEI 3D Webcam"\\"CHUSEI 3D Webcam.exe"");

        char buf[30] = { 0 }; //保存路径变量

        while (1)
        {
                cap >> frame;          //等价于cap.read(frame);
                if (frame.empty())     //如果某帧为空则退出循环
                        break;

                imshow("【双目原始视图】", frame);    //显示双目原始图像  原始分辨率为 640*480
                line(frame, cvPoint(100, 100), cvPoint(250, 250), cvScalar(255, 255, 0), 2);
                waitKey(1);
        }
        cap.release();//释放资源
}


#endif
最佳答案
2021-5-20 18:17:37
#if 1//运行前改成1
#include<opencv2/opencv.hpp>
#include<stdlib.h>
#include <opencv2/highgui/highgui_c.h>
using namespace cv;
using namespace std;

int main()
{
        VideoCapture cap;
        cap.open(0); //打开摄像头
        //cap.open("rtsp://root:000000@169.254.246.218/axis-media/media.amp");
        if (!cap.isOpened())//如果视频不能正常打开则返回
                return 0;
        cvWaitKey(30);
        Mat frame;//用于保存每一帧图像
        cap >> frame;
        line(frame, cvPoint(100, 100), cvPoint(250, 250), cvScalar(255, 255, 0), 2);
        imshow("hello world", frame);
        cvWaitKey(300);
        //system("C:\"Program Files (x86)"\"CHUSEI 3D Webcam"\"CHUSEI 3D Webcam.exe"");

        char buf[30] = { 0 }; //保存路径变量

        while (1)
        {
                cap >> frame;          //等价于cap.read(frame);
                if (frame.empty())     //如果某帧为空则退出循环
                        break;

                line(frame, cvPoint(100, 100), cvPoint(250, 250), cvScalar(255, 255, 0), 2);
                imshow("hello world", frame);    //显示双目原始图像  原始分辨率为 640*480
                waitKey(1);
        }
        cap.release();//释放资源
}


#endif

1.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-5-20 18:17:37 | 显示全部楼层    本楼为最佳答案   
#if 1//运行前改成1
#include<opencv2/opencv.hpp>
#include<stdlib.h>
#include <opencv2/highgui/highgui_c.h>
using namespace cv;
using namespace std;

int main()
{
        VideoCapture cap;
        cap.open(0); //打开摄像头
        //cap.open("rtsp://root:000000@169.254.246.218/axis-media/media.amp");
        if (!cap.isOpened())//如果视频不能正常打开则返回
                return 0;
        cvWaitKey(30);
        Mat frame;//用于保存每一帧图像
        cap >> frame;
        line(frame, cvPoint(100, 100), cvPoint(250, 250), cvScalar(255, 255, 0), 2);
        imshow("hello world", frame);
        cvWaitKey(300);
        //system("C:\"Program Files (x86)"\"CHUSEI 3D Webcam"\"CHUSEI 3D Webcam.exe"");

        char buf[30] = { 0 }; //保存路径变量

        while (1)
        {
                cap >> frame;          //等价于cap.read(frame);
                if (frame.empty())     //如果某帧为空则退出循环
                        break;

                line(frame, cvPoint(100, 100), cvPoint(250, 250), cvScalar(255, 255, 0), 2);
                imshow("hello world", frame);    //显示双目原始图像  原始分辨率为 640*480
                waitKey(1);
        }
        cap.release();//释放资源
}


#endif

1.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-11 05:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表