• 大小: 25.98MB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2023-06-22
  • 语言: 其他
  • 标签: OpenCV  

资源简介

博客地址:https://blog.csdn.net/qq_18286031/article/details/79972702 可以加群460952208一起学习

资源截图

代码片段和文件信息

#include “opencammer.h“


OpenCammer *OpenCammer::m_instance = NULL;

OpenCammer::OpenCammer(QWidget *parent) : QWidget(parent)
{

}

OpenCammer::~OpenCammer()
{

}
// 打开摄像头
void OpenCammer::openCamara()
{
    cam = cvCreateCameraCapture(0);     // 打开摄像头,从摄像头中获取视频
}
// 关闭摄像头
void OpenCammer::closeCamara()
{
//    timer->stop();         // 停止读取数据
//    cvReleaseImage(&frImg);
//    cvReleaseImage(&bkImg);
//    cvReleaseMat(&frameMat);
//    cvReleaseMat(&frMat);
//    cvReleaseMat(&bkMat);
    cvReleaseCapture(&cam);//释放内存
}
// 拍照
void OpenCammer::takingPictures()
{
    frame = cvQueryframe(cam);// 从摄像头中抓取并返回每一帧
    // 将抓取到的帧,转换为QImage格式。QImage::Format_RGB888不同的摄像头用不同的格式。
    QImage image = QImage((const uchar*)frame->imageData frame->width frame->height QImage::Format_RGB888).rgbSwapped();
}

void OpenCammer::getImageSetLabel(QImage img QLabel *label)
{
    label->setScaledContents(true);    //很重要,设置为适应label
    label->setPixmap(QPixmap::fromImage(img));
}
// 显示Image信息
void OpenCammer::ShowImage(QByteArray baQLabel *label)
{
    QString ss=QString::fromLatin1(ba.data()ba.size());
    QByteArray rc;
    rc=QByteArray::frombase64(ss.toLatin1());
    QByteArray rdc=qUncompress(rc);
    QImage img;
    img.loadFromData(rdc);
    label->setScaledContents(true);                  //很重要,设置为适应label
    label->setPixmap(QPixmap::fromImage(img));
//    update();
}
// 把图片转化成QByteArray数据
QByteArray OpenCammer::getImageByteArray(QLabel *label)
{
    QByteArray byte;
    QBuffer buf(&byte);
    frame = cvQueryframe(cam);// 从摄像头中抓取并返回每一帧
    // 将抓取到的帧,转换为QImage格式。QImage::Format_RGB888不同的摄像头用不同的格式。
//    QImage image((const uchar*)frame->imageData frame->width frame->height QImage::Format_RGB888);
    QImage image = QImage((const uchar*)frame->imageData frame->width frame->height QImage::Format_RGB888).rgbSwapped();
    /* opencv默认为BGR转化成RGB */
//    return image;
    image.save(&buf“JPEG“);

    label->setScaledContents(true);                  // 很重要,设置为适应label
    label->setPixmap(QPixmap::fromImage(image));     // 将图片显示到label上
    update();

    QByteArray ss=qCompress(byte1);
    QByteArray vv=ss.tobase64();

    QByteArray ba;
    QDataStream out(&baQIODevice::WriteOnly);
    out.setVersion(QDataStream::Qt_5_4);
    out<    return ba;
}
// 将图片转化成视频
void OpenCammer::getVideo()
{
    VideoCapture capture(0);
    VideoWriter writer(“VideoTest.avi“ CV_FOURCC(‘M‘ ‘J‘ ‘P‘ ‘G‘) 25.0 Size(640 480));

    Mat frame;

    while (capture.isOpened())
    {
        capture >> frame;
        writer << frame;
        imshow(“video“ frame);
        if (cvWaitKey(20) == 27)
        {
            break;
        }
    }
}
// 重写关闭事件
void OpenCammer::closeEvent(QCloseEvent *)
{
    timer->stop();         // 停止读取数据。
    cvReleaseCapture(&cam);//释放内存;
    this->close ();
}

QImage OpenCammer::cvMat2QImage(const Mat &mat)
{
    {
        //

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-04-20 22:43  Qt摄像头\
     目录           0  2018-04-20 22:31  Qt摄像头\CamServer\
     文件        1857  2017-04-20 01:37  Qt摄像头\CamServer\CamServer.pro
     文件         335  2017-03-29 22:58  Qt摄像头\CamServer\command.cpp
     文件         214  2017-03-29 22:58  Qt摄像头\CamServer\command.h
     目录           0  2017-04-23 20:19  Qt摄像头\CamServer\debug\
     目录           0  2018-04-20 22:30  Qt摄像头\CamServer\images\
     文件        1015  2017-05-05 22:52  Qt摄像头\CamServer\images.qrc
     文件         965  2013-04-24 15:00  Qt摄像头\CamServer\images\back.png
     文件      501150  2016-10-13 23:20  Qt摄像头\CamServer\images\background.jpg
     文件      108991  2014-02-16 13:36  Qt摄像头\CamServer\images\car.jpg
     文件        2932  2014-12-31 11:33  Qt摄像头\CamServer\images\close24.png
     文件        2888  2014-12-31 11:34  Qt摄像头\CamServer\images\close24_2.png
     文件        2168  2010-02-11 23:55  Qt摄像头\CamServer\images\fileopen.png
     文件      104899  2014-02-16 13:36  Qt摄像头\CamServer\images\girl.jpg
     文件      102411  2014-02-16 13:36  Qt摄像头\CamServer\images\like.jpg
     文件      449209  2014-02-16 13:36  Qt摄像头\CamServer\images\login.jpg
     文件       90486  2014-02-16 13:36  Qt摄像头\CamServer\images\loginbackground.jpg
     文件      102411  2014-02-16 13:36  Qt摄像头\CamServer\images\login_2.jpg
     文件        1431  2013-04-24 15:00  Qt摄像头\CamServer\images\look.png
     文件       54393  2015-03-14 01:17  Qt摄像头\CamServer\images\my.jpg
     文件        4966  2015-01-30 12:16  Qt摄像头\CamServer\images\pause_hover.png
     文件        2569  2015-01-30 08:51  Qt摄像头\CamServer\images\pause_unhover.png
     文件        5180  2015-01-30 12:15  Qt摄像头\CamServer\images\play_hover.png
     文件        2830  2015-01-30 08:51  Qt摄像头\CamServer\images\play_unhover.png
     文件        1146  2013-04-24 15:00  Qt摄像头\CamServer\images\save.png
     文件        1071  2013-04-24 15:00  Qt摄像头\CamServer\images\shut.png
     文件        1245  2013-04-24 15:00  Qt摄像头\CamServer\images\unlook.png
     文件     1875890  2016-11-28 21:35  Qt摄像头\CamServer\images\无标题_副本.png
     文件      168251  2014-02-16 13:36  Qt摄像头\CamServer\images\背景.jpg
     文件       98889  2014-02-16 13:36  Qt摄像头\CamServer\images\背景_2.jpg
............此处省略20个文件信息

评论

共有 条评论