![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
QT
文章平均质量分 59
高精度计算机视觉
人工智能与视像技术,对技术有点执着
展开
-
Qt5.15.2 Camera的怪问题Ghost Win10中QImage::fromData不能得到有效图片
GhostWin10的系统中,img = QImage::fromData(frame.bits(), nbytes);返回的一直是invalid,无法获取正常的图像原创 2023-02-25 14:37:07 · 878 阅读 · 0 评论 -
Qt开发高级进阶:如何在显示时适合视窗宽度和高度(fitWidth+fitHeight)
因为scale是累积相乘。所以正确的做法是,前一次的视图比例乘1/rx后,相当于该维度上scale会被置为1.0,然后,再乘以我们想要的rw(适合宽度)的视图比,就能使图片正好适合视察宽度了。注意这里是指调整图片的显示大小,例如一张800x600的图片,图片大小是不变的,只是显示成任意大小,Qt提供了一个函数scale,同时,配套使用的是transform,算法的基本原理是这样的,这里,scale中的两人个参数表示x,y轴的显示比例,transform中的m11,m22则分别对应这两个比例。......原创 2022-07-26 09:42:00 · 1147 阅读 · 0 评论 -
Qt开发高级进阶: WebCamera(UVC)摄像头使用QAbstractVideoSurface捕获视频帧到QImage
通常,如果你只是想打开UVC(web camera)并显示数据的话,那最简单的方式就是使用类似下面的代码,如果使用QGraphicsView和QGraphicsScene的方式,则通常用QGraphicsVideoItem会更合适,和前面的代码类似,以上的问题是,如果我们 需要把每一帧数据收集起来,例如压缩成mp4,或者通过网络发送出去,或者需要对他进行视觉图形处理(这在机器视觉中是必须的),那就必须想办法把每一帧图像转变成QImage才行。这里我就不讲理论了,我把这个写成了一个简单易用的头文件原创 2022-06-15 17:05:34 · 2676 阅读 · 0 评论 -
Qt开发高级进阶:初探qt + opengl
Qt 官方提供了好几个OpenGL的例程,我使用的qt5.15.0版,随便搜索了一下,发现有下面这几个例程,如图,随便点击了其中一个例程boxes,配置后rebuild了一下,项目地址在Qt的源码中,C:\Qt\qt5\Examples\Qt-5.15.0\widgets\graphicsview\boxes但发现总是报错,"This example requires Qt to be configured with -opengl desktop"于是打开boxes.pro看了一原创 2022-06-11 22:37:50 · 3593 阅读 · 1 评论 -
Qt5.9.5+Jetson Nano开发:unknown module(s) in qt designer
新入手Jetson nano,自带的Qt5.9.5,拿到手的时候没办法编译QT程序,报错:Project ERROR: Unknown module(s) in QT: designer原创 2022-06-09 13:25:31 · 1002 阅读 · 0 评论 -
Qt开发高级进阶:VS2019双击编辑UI时闪退:无法打开文件
当试图通过双击Qt widget的UI对其进行编辑时,Qt Creator会打开,但随后会迅速关闭,然后报错:无法打开文件原创 2022-06-06 15:08:38 · 1574 阅读 · 3 评论 -
Qt开发高级进阶: 用lambda表达式写一个跨平台的屏幕取色器
用Qt lambda表达式写的一个跨平台的屏幕取色器原创 2022-06-02 15:26:20 · 281 阅读 · 0 评论 -
Qt开发高级进阶:如何拷贝生成后的文件到特定文件夹
Qt编译成功后,当很多项目联合调试的时候,经常要拷贝文件。先给出参考地址:qt - QMake - how to copy a file to the output - Stack Overflowhttps://stackoverflow.com/questions/3984104/qmake-how-to-copy-a-file-to-the-output其中有一个提到拷贝函数,defineTest(copyToDestDir)Copying files with qmake | Dec原创 2022-05-30 16:41:28 · 1864 阅读 · 0 评论 -
Qt开发高级进阶:C++中使用dynamic_cast实现父类与子类之间进行安全的类型转换
通常,在C++中需要用到各种类型转换,典型的如const_cast, dynamic_cast, reinterpret_cast, static_cast。这时讲两种实现办法: dynamic_cast和直接计算的办法(1) dynamic_cast最常用的,dynamic_cast: 动态类型转换,可以在父类与子类之间进行安全的类型转换,运行时类型检查,并且可以知道自己子类的类型。缺点是耗时稍微有点长。reinterpret_cast: 强制类型转换,可以在不同类型之间进行强制转换,很难保原创 2022-05-13 11:51:52 · 2109 阅读 · 0 评论 -
Qt开发高级进阶:高速读写图片数据之QImage内存的直接操作
Qt中有两个最常用的类,一个是QPixmap,一个是QImage,当然还有QBitmap,QPicture之类的。关于QPixmap和QImage,官方的解释是这样的,Qt provides four classes for handling image data: QImage, QPixmap, QBitmap and QPicture. QImage is designed and optimized for I/O, and for direct pixel access and manipul原创 2022-05-12 22:43:16 · 6953 阅读 · 0 评论 -
Qt开发高级进阶:QGraphicsXxxxItem等无法收到鼠标事件的原因
QGraphicsItems收不到消息分有好几种情况。除了错误的代码外,还有一些对Qt原理理解上的问题(Qt埋下的坑)。情况 (1)如果是mouseMoveEvent收不到消息,而mousePressEvent能收到消息,则往往在mousePressEvent中不能把消息传递给父类。例如void QGraphicsEllipseSubItem::mousePressEvent(QGraphicsSceneMouseEvent *event){ qDebug() << "elli原创 2022-05-11 21:42:44 · 2095 阅读 · 0 评论 -
Qt开发高级进阶:同时resize多个QWidget组件之QSplitter
在QT中,如果要设计让两个相邻的widget能同时同步resize,如果不想使用使用dockable widget,一般需要使用QSplitter。但是,如果你在控件栏中找的话,是看不到QSplitter这个控件的。本文的目标:如下图所示,鼠标可以拖动两个控件的中间,同时resize两个相邻的widget。那么要如何添加splitter呢?首先,splitter在designer的界面上,以按钮的形式显示,平常都是灰色的;他不在控件栏内!!在ui编辑时,随便往界面上拖两个组件,.原创 2022-05-11 08:51:22 · 1479 阅读 · 0 评论 -
Qt开发高级进阶:QString格式化输出double数值
在<QString.h>中,对QString格式化输出double的定义只有一个, Q_REQUIRED_RESULT QString arg(double a, int fieldWidth = 0, char fmt = 'g', int prec = -1, QChar fillChar = QLatin1Char(' ')) const;那要如何使用呢?看代码,qreal Radius1 = 023.4567;qreal Radius2 = 456.12345;Q原创 2022-05-08 17:22:07 · 4544 阅读 · 0 评论 -
QtCreator error: contains(): Encountered invalid regular expression D:\VulkanSDK\1.2.198.1/Include
安装好vulkan后,打开以前的项目编译时,发现QtCreator会自动检查vulkan的路径,尽管我这个项目根本就没有用到vulkan,报错内容如下,C:\Qt\qt5\5.15.0\msvc2019_64\mkspecs\features\win32\windows_vulkan_sdk.prf:8: error: contains(): Encountered invalid regular expression 'D:\VulkanSDK\1.2.198.1/Include'.根据报错的.原创 2022-05-07 15:31:55 · 687 阅读 · 0 评论 -
QtCreator+Vulkan初体验
我安装的是Qt5.15.0,安装自己带了一个vulkan的例子,地址在这里,C:\Qt\qt5\Examples\Qt-5.15.0\quick\scenegraph\scenegraph.pro用QtCreator打开后,build一下,发现找不到vulkan/vulkan.h。下载vulkan SDK下载地址在这里,LunarXchangehttps://vulkan.lunarg.com/sdk/home因为不清楚版本的兼容性,一时半会也没找到可用的信息,我就随便选了一个较近的版本原创 2022-05-07 11:14:00 · 2629 阅读 · 0 评论 -
QtCreator如何进行Qt开源程序包的源码调试
如果用vs2019的话,这个不是问题,vs会时不时的问源程序在哪里呀,你打开一下呀之类的。但用QtCreator这家伙的话,基本上默认状态下就是不闻不问。首先,我假设你下载了安装程序 ,3D进阶之OSG: 编译osgQt(附:Qt的下载与安装)_高精度计算机视觉的博客-CSDN博客_osg编译osgQt是个简单的小项目,其实没有必要额外的编译,最核心的是个名为GraphicsWindowQt的类,只需要复制GraphicsWindowQt.h和GraphicsWindowQt.cpp到QT工程里面就原创 2022-05-05 23:40:23 · 2495 阅读 · 1 评论 -
QtCreator的当前工作路径(current work directory)在哪里
参考:https://doc.qt.io/qtcreator/creator-run-settings.html具体来说,就是在项目生成的运行文件夹内,例如我的QtCreator7.0.0,另外还有一个项目的设置路径,Tools > Options > Build & Run > General > Projects Directory ,如下图所示,本文结束。...原创 2022-05-05 11:22:16 · 1908 阅读 · 0 评论 -
VS2019+QT ERROR:LNK2001 public: virtual struct QMetaObject const
网上随便找了一个QT的小程序源码,编译时报错,严重性 代码 说明 项目 路径 文件 行 禁止显示状态错误 LNK2001 无法解析的外部符号 "public: virtual struct QMetaObject const * __cdecl MainWindow::metaObject(void)const " (?metaObject@MainWindow@@UEBAPEBUQMetaObject@@XZ) EasyOCRApp E:\vQt\EasyOCRApp\EasyOCRApp E:\原创 2022-04-28 18:44:46 · 4950 阅读 · 0 评论