草庐IT

Qt-OpenCV

全部标签

c++ - Qt Creator 2.6.1 + Qt 5 + C++11 + MSVC2010 编译器

我正在尝试使用Qt在Windows上构建C++应用。我的设置是:已安装Vs2008、2010、2012已安装Qt5RC1现在,当我#include并尝试使用std::unique_ptr时,它告诉我它没有定义,所以我查看了VS2010header,发现需要定义_HAS_CPP0X,所以我将它作为DEFINES+添加到.pro=_HAS_CPP0X这仍然没有效果,所以我ctrl+clicking#includememory只是为了找到它使用的memoryheader来自:C:\ProgramFiles(x86)\MicrosoftVisualStudio9.0\VC\include里面真

c++ - 断开并稍后重新连接 Qt 信号

有没有办法暂时断开Qt信号,但存储与其连接的对象列表,以便信号稍后可以重新连接到它们? 最佳答案 http://qt-project.org/forums/viewthread/6820这篇文章讨论了跟踪特定信号的连接列表的方法,该信号可用于在调用断开连接后重新连接它。 关于c++-断开并稍后重新连接Qt信号,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/14144415/

c++ - OpenCV 无法使用 imwrite 写入图像

我正在尝试将我创建的Mat格式写入jpeg文件,但我得到的只是一个未处理的异常。从文档中可以看出Only8-bit(or16-bitunsigned(CV_16U)incaseofPNG,JPEG2000,andTIFF)single-channelor3-channel(with‘BGR’channelorder)imagescanbesavedusingthisfunction.所以我使用下面的代码创建了一个垫子:Matwatermark(5,5,CV_16U);imwrite("C:\\watermark.jpg",watermark);但是,我无法将图像写入jpeg。它适用于B

c++ - opencv .at 处理不同的图像类型

我有一些代码希望能够同时处理8位和16位图像。现在代码之间的唯一区别是8位代码使用:filename.at(i,j)16位代码使用:filename.at(i,j)现在最简单的方法是在顶部包含一个if语句来检查图像类型,然后我只有两个代码块来做同样的事情,但我想避免这种情况,因为维护变得有点麻烦疼痛。首先,我通读了OpenCV文档,但我可能没有看到它,但我没有看到任何返回Mat对象用于存储像素数据的数据类型的内容。所以如果我错过了它,我会觉得很傻,但那是最好的。我研究的另一个选项是函数指针,但我不确定是否可以为.at模板函数执行此操作。非常感谢对这些选项的任何建议。

c++ - Qt C++ QTextEdit 打字时计算字数

我需要在QtC++中实现方法,该方法在用户键入时计算QTextEdit中的单词数。此外,当用户键入多个空格时,不应将其视为单词。我知道如何对已经输入的文本执行此操作,但我需要始终更新总字数。你能帮我解决这个问题吗? 最佳答案 我建议您在voidQTextEdit::textChanged()[signal]上连接并使用如下内容:voidonTextChanged(){intwordCount=textEdit->toPlainText().split(QRegExp("(\\s|\\n|\\r)+"),QString::SkipEm

c++ - c++/qt 中用于 google-drive 的 API 和工具

在C++/Qt中是否有用于google-drive的任何API或任何免费使用并可用于访问和管理google-drive的工具,如Insync。我已经尝试通过ics使用qt-google-drive,但它仍在开发中。 最佳答案 您基本上可以从任何可以生成HTTP请求(并且显然可以使用回复数据)的任何地方使用Google云端硬盘。GoogleDriveSDK不包括任何用C++编写的示例,但正如您在referencesection中看到的那样,这一切都是通过相当正常的HTTPGET、POST等完成的。

c++ - 在 OpenCV 和 c++ 中使用一组有限的图像进行相机校准

当样本数量有限且位于图像的小区域内时,您对相机校准有什么想法或建议吗?这里是一些额外的信息:我正在从事一个项目,以帮助残疾人用眼睛使用计算机。由于我对OpenCV缺乏经验,有些事情给我带来了一些麻烦。摄像头是头戴式的,凸度还不错,但眼球本身是凸的,会转动。我打算“压平”眼睛,让它看起来像在平面上移动。显而易见的选择是校准相机以尝试消除径向畸变。在校准过程中,用户查看屏幕上网格的角。在校准期间,瞳孔的时刻存储在每个位置的Mat中。所以当我在屏幕上查看网格的角时,我有一个图像,其中的点对应于多个眼球位置。我可以绘制连接四个点组的填充多边形并创建棋盘图案,或者我可以将每个眼睛位置保存为一个点

c++ - 在 openCV 中编写可变帧率视频

我在openCV中编写视频文件的步骤如下:CvVideoWriter*writer=cvCreateVideoWriter(fileName,CodecID,frameRate,frameSize);//CreateVideoWritercvWriteFrame(writer,frame);//WriteframecvReleaseVideoWriter(&writer);//Releasevideowriter上面的代码片段以固定的帧速率写入。我需要写出可变帧率视频。我之前在libx264中使用的方法涉及将单独的时间戳写入每个帧。所以,问题是如何将时间戳写入openCV中的帧-具体的

c++ - Qt 5 和 QProcess 使用信号/槽 readyRead 重定向标准输出

这个问题困扰着我,因为它应该有效,但遗憾的是它没有。我试图实现的是读取某个进程的标准输出并让另一个进程处理它,即打印出来。产生输出的过程如下所示:#include#include#includeintmain(){for(inti=0;i进程是在另一个应用程序中启动的,如下所示:#include...QProcess*process=newQProcess;SomeClass*someClass=newSomeClass(process);connect(process,SIGNAL(readyRead()),someClass,SLOT(onReadyRead()));process

c++ - opencv 和 Matlab 的 Sobel 滤波器输出不同

我正在将一些代码从matlab转换为opencv。我尝试在opencv中使用Sobel,但opencv和matlab的输出完全不同,这可能是什么原因。如何使opencv的输出与matlab相同?我的MATLAB代码是:[sobel_edges,T,V,H]=edge(rgb2gray(im),'sobel',0.03);sobel_angles=atan2(V,H);sobel_weights=(V.*V+H.*H).^0.5;其中0.03是阈值。在opencv中,当我使用预建的Sobel滤波器时,输出与matlab完全不同,甚至在openc中计算的engle和magnitude也不同