首页
统计
关于
Search
1
C语言:获取程序运行消耗的时间(gettimeofday)
361 阅读
2
QT-利用Qcamera查看USB摄像头参数(数据帧格式+分辨率)
250 阅读
3
嵌入式linux组播接收发送失败解决
246 阅读
4
一切从头开始
177 阅读
5
QT--QLineEdit 只能输入字母或数字,输入格式约束
149 阅读
编程语言
C/C++
PHP
Go
分享
随笔
Linux
OpenHarmony
登录
Search
标签搜索
C++
QT
Linux
Git
Go
C
程序执行时间
函数执行时间
GDAL
zeromq
github
Centos
代理
goKit
gitea
247.1
累计撰写
29
篇文章
累计收到
0
条评论
首页
栏目
编程语言
C/C++
PHP
Go
分享
随笔
Linux
OpenHarmony
页面
统计
关于
搜索到
14
篇与
的结果
2023-05-19
QT-利用Qcamera查看USB摄像头参数(数据帧格式+分辨率)
运行环境检查:首先检查自己的QT版本及系统环境是否支持Qcamera:Qcamera是multimedia模块中的接口函数,multimedia模块在QT5.3之后是自带的。在windows环境下可直接使用,在LINUX 环境下需要手动安装multimedia模块。代码片段:pro文件包含:QT += multimedia multimediawidgets示例#include "mainwindow.h" #include "ui_mainwindow.h" //相机相关的头文件 #include <QCamera> #include <QCameraInfo> #include <QVideoProbe> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); m_camera = new QCamera(this);//初始化摄像头设备 QVideoProbe *m_pProbe = new QVideoProbe; if(m_pProbe != nullptr) { m_pProbe->setSource(m_camera); // Returns true, hopefully. connect(m_pProbe, SIGNAL(videoFrameProbed(QVideoFrame)),this, SLOT(slotOnProbeFrame(QVideoFrame)),Qt::QueuedConnection); }//其中SIGNAL(videoFrameProbed(QVideoFrame)为VideoProbe模块自带的信号 m_camera->setCaptureMode(QCamera::CaptureViewfinder);//设置捕捉模式为视频 m_camera->setViewfinder(ui->centralWidget);//设置 摄像头画面的显示位置 m_camera->start();//开启摄像头 //查询摄像头支持的分辨率 QList<QSize> sizes = m_camera->supportedViewfinderResolutions(); qDebug() << "viewfinderResolutions sizes.len = " << sizes.length(); foreach (QSize size, sizes) { qDebug() << "Resolutions size = " << size; } //摄像头参数初始化,根据需求用户自定义摄像头分辨率,也可以用来设置摄像头数据类型 QCameraViewfinderSettings set; set.setResolution(VIDEO_WIDTH, VIDEO_HEIGHT);//设置分辨率 //set.setPixelFormat(QVideoFrame::Format_YUYV); //设置像素格式 Android上只支持NV21格式 m_camera->setViewfinderSettings(set); //包含头文件QCameraInfo QList<QCameraInfo> cameras = QCameraInfo::availableCameras();//获取可用摄像头设备列表 foreach (const QCameraInfo &cameraInfo, cameras) { qDebug()<<"检测到设备:"<<cameraInfo.deviceName();//摄像头的设备名称 } } //图像触发的槽函数 void MainWindow::slotOnProbeFrame(const QVideoFrame &frame) { QVideoFrame cloneFrame(frame);//类拷贝操作,fram -> clonframe cloneFrame.map(QAbstractVideoBuffer::ReadOnly); //视频缓冲区数据映射到系统内存 //unsigned char rgb_buffer[VIDEO_WIDTH*VIDEO_HEIGHT*3]; qDebug()<<"设备数据格式:"<< cloneFrame.pixelFormat()<<endl; cloneFrame.unmap(); } MainWindow::~MainWindow() { delete ui; }
2023年05月19日
250 阅读
0 评论
0 点赞
2023-05-19
gowatch--Go 程序热编译工具
Go 程序热编译工具,提升开发效率通过监听当前目录下的相关文件变动,进行实时编译安装使用使用 go insall 命令安装 gowatchgo install github.com/silenceper/gowatch@latest安装完成之后,即可使用gowatch命令,在当前文件执行:gowatch命令行参数-o : 非必须,指定build的目标文件路径-p : 非必须,指定需要build的package(也可以是单个文件)-args: 非必须,指定程序运行时参数,例如:-args='-host=:8080,-name=demo'-v: 非必须,显示gowatch版本信息-h: 非必须,帮助信息
2023年05月19日
122 阅读
0 评论
0 点赞
2023-05-08
C语言:获取程序运行消耗的时间(gettimeofday)
对于普通的C程序:#include<stdio.h> #include<sys/time.h> //注意引用这个头文件 #include<unistd.h> int delay(int time) { //这里用来表示你自己要运行的程序 } int main() { //定义两个结构体,来记录开始和结束时间 struct timeval start; struct timeval end; //记录两个时间差 unsigned long diff; //第一次获取时间,即表示开始记时 gettimeofday(&start,NULL); //运行自己的程序 delay(10); //第二次获取时间,即表示结束记时 gettimeofday(&end,NULL); //计算时间差,并打印 diff = 1000000 * (end.tv_sec-start.tv_sec)+ end.tv_usec-start.tv_usec; printf(“thedifference is %ld\n”,diff); return 0; }对于内核模块的C程序#include<stdio.h> //注意引用这个头文件 #include<linux/time.h> #include<unistd.h> int delay(int time) { //这里用来表示你自己要运行的程序 } int main() { //定义两个结构体,来记录开始和结束时间 struct timeval start; struct timeval end; //记录两个时间差 unsigned long diff; //第一次获取时间,即表示开始记时 do_gettimeofday(&start,NULL); //运行自己的程序 delay(10); //第二次获取时间,即表示结束记时 do_gettimeofday(&end,NULL); //计算时间差,并打印 diff = 1000000 * (end.tv_sec-start.tv_sec)+ end.tv_usec-start.tv_usec; printf(“thedifference is %ld\n”,diff); return 0; }
2023年05月08日
361 阅读
0 评论
0 点赞
2023-05-01
QT--程序收不到组播数据
主要需要设置组播网卡 QString strName = ui->comboBox_network->currentData().toString(); interface = QNetworkInterface::interfaceFromName(strName); // 根据选择名称获取网卡 QByteArray data; tftudpsocket = new QUdpSocket(); tftsendaddres.setAddress("239.1.1.15"); tftudpsocket->bind(QHostAddress(ip), 6002, QUdpSocket::ShareAddress | QUdpSocket::ReuseAddressHint); //加入组播组 tftudpsocket->setSocketOption(QAbstractSocket::MulticastLoopbackOption, 0); //设置组播网卡 tftudpsocket->setMulticastInterface(interface); tftudpsocket->joinMulticastGroup(QHostAddress(tftsendaddres), interface); connect(tftudpsocket, SIGNAL(readyRead()), this, SLOT(read_tftdata())); //发送一个空数据出去 tftudpsocket->writeDatagram(data, QHostAddress(tftsendaddres), 6002);
2023年05月01日
106 阅读
0 评论
0 点赞
2023-04-10
QLineEdit添加左侧或右侧的图标
QAction *searchAction = new QAction(ui.LineEdit); searchAction->setIcon(QIcon(":/resource/query.png")); ui.LineEdit->addAction(searchAction,QLineEdit::TrailingPosition); //QLineEdit::LeadingPosition 在左侧
2023年04月10日
86 阅读
0 评论
0 点赞
1
2
3