crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Захват видео с IP-камеры
ONIX
  опции профиля:
сообщение 15.5.2014, 20:09
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 4
Регистрация: 15.5.2014
Пользователь №: 4131

Спасибо сказали: 0 раз(а)




Репутация:   0  


Здравствуйте! Хочу на qt сделать программку для подключения к ip-камере. Простенькую, чтобы только к камере по ip подключалась и всё.
Не получается реализовать её в оконном режиме, получается только путём создания консольного приложения через Qt-creator.
Помогите пожалуйста переделать её из консольной в виджетную. Не судите строго, только начал работать с QT.

Вот код программы на C++
#include <iostream>
#include "opencv2/opencv.hpp"
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>


using namespace std;
using namespace cv;

int main()
{
    VideoCapture cap("http://192.168.0.101:8080/video?x.mjpeg"); //change this URL according to your camera
    if (!cap.isOpened())
    {
        cout << "could not capture";
        return 0;
    }

    Mat frame;
    namedWindow("IPcamera", 1);
    char key = 'a';

    while(key != 27)
    {
        cap.grab();
        cap.retrieve(frame);
        imshow("IPcamera", frame);
        key = waitKey(10);
    }

    destroyAllWindows();
    return 0;
}
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
ONIX
  опции профиля:
сообщение 17.5.2014, 0:22
Сообщение #2


Новичок


Группа: Новичок
Сообщений: 4
Регистрация: 15.5.2014
Пользователь №: 4131

Спасибо сказали: 0 раз(а)




Репутация:   0  


Нашёл программу, вот только хотелось бы несколько её усовершенствовать.
Хочу чтобы программа не автоматически подключалась по ip-адресу и выводила изображение с камеры.
А чтобы можно было IP-адрес вводить в текстовое поле, и потом уже осуществлялся переход.
Как это реализовать вообще без понятия, ведь в cvCaptureFromFile кроме цифр ip ещё ведь кое что есть.
Помогите пожалуйста!
void MainWindow::createMycamera()
{
    CvCapture *c = cvCaptureFromFile("http://xxx.xxx.x.xxx:xxxx/video?x.mjpeg");
    if (c != NULL) {
        vidcap = new Vidcap(c);
        FrameSize sizeWH;
        sizeWH.width = 640;
        sizeWH.height = 480;
        vidcap->setSize(sizeWH);
        connect(vidcap, SIGNAL(redy(IplImage *)), this, SLOT(ShowNewFrame(IplImage *)));
        vidcap->start();
    }
    else {
        ui->label->setText("Video device not found.");
    }
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 29.4.2024, 17:06