资源简介
博客地址: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个文件信息
- 上一篇:ADS应用详解-射频电路设计与仿真
- 下一篇:半导体光放大器及其应用.pdf
相关资源
- NVIDIAOpticalFlowSDK-79c6cee80a2df9a196f20afd6
- opencv_contrib-3.4.0.zip
- opencv2.4.9源码分析——SIFT
- 用两个摄像头实现,双目标定,双目
- opencv_traincascade训练分类器,手势识别
- opencv3.0交叉编译用parallel.cpp
- 基于opencv的图像识别识别图像中的色
- 基于openCV的识别特定颜色区域
- 基于OpenCV的分水岭算法实现
- QT+opencv+OCR 身份证号码,银行卡号识别
- opencv视频特定颜色区域识别
- 把RGB转换为HSV和HSI然后根据黄色和蓝
- opencv视觉测距
- 基于Qt和opencv的身份证号码识别系统
- opencv_ffmpeg249.dll
- SfM稀疏三维点云重建--完整工程文件
- 基于opencv的数人头程序源代码
- 利用OpenCV中的Stitcher类实现全景图像拼
- opencv实现的sift算法源码,包含了图像
- openCV 上的小波变换
- 基于OPENCV的车牌识别系统设计
- 617张国内车牌60-17bmp图片用于OpenCV正样
- hog特征提取,c版本代码
- 基于Qt5.8+OpenCV3.2的Basler多相机触发开
- 基于Opencv实现的图像纠偏
- ImageWatch2019.vsix
- SIFT特征提取+匹配
- 基于SIFT算法的图像拼接.rar
- opencv4.1.1+contrib完整版.zip
- OpenCV3.3+contrib-master,VS2013编译后的l
评论
共有 条评论