草庐IT

Qt-OpenCV

全部标签

c++ - qt 将数据库 sql 添加到从 cmake 导入的项目中

通常情况下,要给qt添加数据库,我们会去.pro文件中添加sql,但是我正在做的项目是从cmake导入的,所以它没有.pro文件。相反,它有一个CMakeLists.txt文件,我想将它连接到一个sqlite数据库。谁能帮我吗。谢谢 最佳答案 将Sql组件添加到find_package()命令和将Qt5::Sql添加到target_link_libraries()命令。搜索类似的东西:find_package(Qt5REQUIREDCOMPONENTSCoreQuickSql)或者像那样:find_package(Qt5SqlREQ

c++ - 另一个小部件 Qt 中的小部件

我正在尝试实现这种布局:Widget1是某个小部件(QMainWindow的中央小部件),我想在其上添加第二个小部件Widget2,但它应该位于Widget1的左下角。编辑:我之前的描述不是很有用,所以我会尝试更详细地描述它。我继承了QWidget类(classMyClass:publicQWidget)并创建了我自己的小部件,我在voidMyClass::paintEvent(QPaintEvent*event)上画了一些东西屏幕。MyClass就是我的QMainWindow的centralWidget。现在最重要的是我想添加较小的小部件(图像中的Widget2),我将在其中显示一些

c++ - Qt QString 到 QByteArray 并返回

我在从QString到QByteArray再回到QString的转换中遇到问题:intmain(){QStrings;for(inti=0;i如您所见,我用16位范围内的所有字符填充QString。然后将它们转换为QByteArray(Utf8)并返回到QString。问题是值为0的字符和值大于55295的字符无法转换回QString。如果我保持在1到 最佳答案 我的任务是将std::string转换为QString,并将QString转换为QByteArray。以下是我为完成此任务所做的工作。std::stringstr="hel

c++ - OpenCV C++ 多线程

我在4个不同的Mat对象上调用了4x这个opencv图像处理函数。voidprocessBinary(Mat&binaryMat){//imageprocessing}我想对其进行多线程处理,以便所有4个方法调用同时完成,但让主线程等待每个线程完成。例如:intmain(){Matm1,m2,m3,m4;//performeachofthesemethodssimultaneously,buthavemainthreadwaitforallprocessBinary()callstofinishprocessBinary(m1);processBinary(m2);processBin

c++ - OpenCV VideoWriter 大小问题

我正在尝试读取视频文件,对其进行处理,然后将处理后的帧写入输出视频文件。但是,我收到以下错误:OpenCVError:Assertionfailed(img.cols==width&&img.rows==height&&channels==3)inwrite,file/.../opencv-cpp/modules/videoio/src/cap_mjpeg_encoder.cpp,line829terminatecalledafterthrowinganinstanceof'cv::Exception'what():/.../opencv-cpp/modules/videoio/src

c++ - 单击旁边的按钮时如何引用动态创建的标签[Qt]

每次按下“添加客户端”按钮-一个减号按钮、客户端名称、一个客户端计数器和一个加号按钮被添加到gridLayout的水平线上。我想在按下加号/减号按钮时更新计数(QLabel)。这是我的代码:#include"widget.h"#include"ui_widget.h"#include#include#includeintrow=0;Widget::Widget(QWidget*parent):QWidget(parent),ui(newUi::Widget){ui->setupUi(this);}Widget::~Widget(){deleteui;}voidWidget::on_pu

c++ - Qt 如何将文件移动到另一个现有目录

我是Qt的初学者,我项目的一部分是将现有文件移动到另一个现有目录?有人可以给我一个具体的例子吗?我不确定我是否应该使用Qfile::rename()。我试着这样写QDir::rename("/home/joshua/test.txt","/home/joshua/test/test_c.txt");但错误是不能在没有对象的情况下调用成员函数'boolQDir::rename(constQString&,constQString&)'QDir::rename("/home/joshua/test.txt","/home/joshua/test/test_c.txt");^对不起大家,都是

MAC设备(M1)环境下编译安装openCV for Java

最近发现一个需求,可以用openCV来实现,碰巧又新买了mac笔记本,就打算利用业余时间安装下openCV。这里将主要步骤记录下,希望能帮助有需要的人。1、准备编译环境#查询编译opencv相关依赖brewinfoopencv查询结果如下图所示:对于没有打✅的,通过如下命令进行安装:#例如eigen,具体视情况而定brewinstalleigen2、在线下载opencv源码#安装wgetbrewinstallwgetwget-Oopencv.ziphttps://github.com/opencv/opencv/archive/4.8.0.zip#解压缩unzipopencv.zipwget-

c++ - 当程序在两者之间进入休眠状态时,OpenCV 函数 cv::remap() 的执行时间更长

我正在使用OpenCV库进行一些图像处理,我发现处理图像所需的时间取决于我在图像处理之间让线程休眠的时间量。我测量了我程序的几个部分的执行时间,我发现如果我让我的线程休眠超过特定时间段,函数cv::remap()似乎执行速度慢两倍。下面是显示奇怪行为的最小代码片段。我测量了执行cv::remap()函数所需的时间,然后我将威胁发送到在sleep_time中设置的毫秒数后休眠。#include#include#includeintmain(intargc,char**argv){cv::Matsrc=...//Initcv::Matdst=...//Initcv::Mat1fmap_x=

c++ - Qt3d。在三角形上绘制透明的QSphereMesh

我有一个可以通过OpenGL绘制三角形的函数我通过按下一个按钮绘制两个三角形(函数on_drawMapPushButton_clicked())。然后我在这些三角形上方绘制一个球体。现在我看到,该球体正确绘制在第一个三角形上,但是第二个三角形却绘制在该球体上,反之亦然。如果我第二次按下按钮,则会在第一个和第二个三角形上正确绘制spehere。当我第三次按下按钮时,第二个三角形再次在球体上绘制。当我第四次按下按钮时,会在第一个和第二个三角形上正确绘制spehere,依此类推。如果我在SphereMeshQPhongMaterial而不是QPhongAlphaMaterial中使用,则始终