
Qt + OpenCV
使用Qt或者Qt+OpenCV的一些例子
Allen_928
光学专业,对计算机感兴趣,在自学编程中。目标:将计算机的自动化,智能化与光学应用结合
展开
-
QT学习笔记——总结篇
QT的学习笔记已经很久没有更新过了。以前我学习QT的思路是学习控件的使用方法,其属性,信号等等,然后在ui文件中拖动控件构建界面,然后为了显示出好看的控件学习了Qss样式表,但是这样的问题是,仅仅这样感觉就是个写界面的,离实际的项目编程离得有点远。那么如何解决这个问题呢?到底怎么学习编程这个问题在大约在大半年之前进入了我的脑海,什么是编程,qt在编程中起到了什么作用,实际项目编程中需要什么?进而我学习了软件工程的内容,大致了解下,其中关于面向对象的方法成为了我主要看的内容,在这样一段时间的学习之后,再看原创 2021-11-10 11:22:37 · 960 阅读 · 0 评论 -
Thread线程函数参数传递 C++篇
#include <iostream>#include <thread>using namespace std;void f(int i,std::string const& s){ for(int j=0;j<=i;j++) { cout<<s<<endl; }}int main(){ std::thread t(f,3,"hello"); t.join();原创 2021-09-17 11:00:35 · 2832 阅读 · 0 评论 -
C++ try-catch简介
C++的Try-Catch是作为异常处理的一种手段,也是C++比C优势的地方。在实际应用中,比可能会遇到一些特殊情况,那些时候你无法控制变量的值,或者访问了不该访问的地址,这就会导致异常。在这种情况下,程序的运行可能会终止。Syntax of C++ Try Catchtry { // statement(s)} catch (ExceptionName e) { // statement(s)}在Try下的语句中,编写可能引发异常的语句,或者你可以抛出异常在Catch块中,你可翻译 2021-09-17 09:02:43 · 2189 阅读 · 0 评论 -
OpenCV矩阵的基本操作
图像处理过程中,对图像矩阵的每一个元素进行操作是十分重要的。本博文对OpenCV中的Mat矩阵的操作做了一次总结,方便我自己查阅。下面是我参考的博文OpenCV—基本矩阵操作与示例opencv mat元素的遍历OpenCV Mat 常用的基础知识官方文档Mat 基础在计算机中,图像在本质上是一个数组。Mat就是图像在OpenCV中的表现形式。基本属性cols:矩阵列数rows:矩阵行数channels:通道数type:数据类型total:矩阵总元素数data:指向矩阵数据块的指原创 2020-12-27 20:59:14 · 1093 阅读 · 0 评论 -
OpenCV API Reference-highgui
High-level GUI and Media I/OOpenCV是为了全面应用而设计的,不仅可以在功能丰富的UI框架(如,Qt,Win Forms,Cocoa,也可以完全不使用任何GUI)中使用。但有时需要快速实验功能,看见结果。这就是HighGUI被设计的初衷。它提供了一些简单的接口:创建并且对窗口的操作可以展示图像并且“remember” (这里的remenber不知道怎么翻译好?)...翻译 2020-02-24 13:04:08 · 213 阅读 · 0 评论 -
Qt学习笔记6
Qt框架简介main.cpp内容#include "widget.h"#include <QApplication>int main(int argc, char *argv[]){ QApplication a(argc, argv);//声明qt应用程序 Widget w;//创建一个名为w的widget类窗口,执行类构造函数 w.show...原创 2020-04-14 15:25:30 · 285 阅读 · 0 评论 -
Qt学习笔记5
Qt WidgetsQt Widgets 提供了一系列的UI元素给用户创建古典的桌面风格用户接口。查看用户接口可以得到更多的使用widgets的信息。Getting Started要包括模块类的定义,请使用以下指令:#include 要链接该模块,请将以下行添加到您的qmake .pro文件中:QT += widgetsWidgetswidgets是在Qt中创建用户界面的主要元素。...原创 2020-03-02 15:46:49 · 182 阅读 · 0 评论 -
Qt学习笔记3
11原创 2020-07-29 15:15:49 · 257 阅读 · 0 评论 -
Qt学习笔记2
Widges 讲解小部件是使用Qt构建的图形用户界面(GUI)应用程序的基本构建块。每个GUI组件(例如按钮,标签,文本编辑器)都是一个小部件,位于用户界面窗口中的某个位置,或者显示为独立的窗口。每种类型的小部件都由QWidget的子类提供,而QWidget的子类本身就是QObject的子类。QWidget不是抽象类。它可以用作其他窗口小部件的容器,并且可以使用最小的子类创建新的自定义窗口小部...原创 2019-10-25 13:54:04 · 337 阅读 · 0 评论 -
Qt学习笔记1
Qt Widgets:Qt窗口小部件模块提供了一组UI元素,用于创建经典的桌面样式用户界面。有关使用小部件的更多信息,请参见用户界面概述。开始!使用这个模块的类定义,要使用如下语句:#include <QtWidgets>要链接该模块,请将以下行添加到您的qmake .pro文件中:QT += widgetsWidgets:小部件小部件是在Qt中创建用户界面的主要元素...原创 2019-10-25 11:00:19 · 216 阅读 · 0 评论 -
VS + Qt中文乱码问题解决步骤
环境 VS2019 + Qt5.14.2解决步骤:1:扩展——管理扩展——搜索 Format On Save ——安装。2:工具——选项——Format On Save——setting——LineBreak ——选择 windows3:项目文件——右键——属性——C/C++——命令行——输入/utf-8——应用确认参考博文注意release/debug都要重新设置第三步,别问我为啥知道。。。。。。结果:不懂底层真的会绕很大的弯路,编译原理什么的,字符编码格式什么的,果然有时间还是要看一原创 2020-07-31 14:47:22 · 2467 阅读 · 6 评论 -
VS + Qt实现上位机串口通信:简单界面3
从textedit处接受文本内容并发送,但在实际应用中出现了换行符不显示的问题。搜了很多博客发现可能还是和字符编码形式有关。我现在采用的是这个方法:QStringList text = ui.textEdit_2->toPlainText().split("\n"); for (int i = 0; i < text.size(); i++) { serial.write(text.at(i).toLocal8Bit() + "\r\n"); }第一行是读取text原创 2020-07-31 10:13:58 · 1378 阅读 · 0 评论 -
VS + Qt实现上位机串口通信:简单界面2
继续上篇博文的内容,进行comboBox的设置先简要了解comboBox的自身属性以及signal信号。使用comboBox的目的是提前在其中设置好属性值,通过下拉选择某一项属性值,从而达到与外界信息交互的目的,所以首先是设置除串口号之外的下拉选择框的属性值。双击下拉选择框就能进入编辑组合框界面了,直接设置好了,无需编程。。回调函数也会很简单,当值或者索引改变时触发,回调函数则是serial.setPortName()那些函数即可。如:我选择的方式是初始化的时候赋一次值,每次槽函数调用赋一次.原创 2020-07-30 21:51:00 · 1007 阅读 · 3 评论 -
VS + Qt实现上位机串口通信:简单界面
先实现简单功能与界面结合。在编写代码之前,首先要粗略了解页面的空间有哪些。首先是固定信息如:串口号,这些可以用label设置,一共7个。然后是显示框,接受和发送框,可以用textedit,一共2个。其次是5个下拉选择框,控件combo box。最后是2个pushbutton,一个控制串口的开闭,一个发送数据。其次我们要了解大致的回调函数有哪些,什么动作会产生什么响应首先是5个下拉选择框,5个trigger回调毋庸置疑。发送按钮的按下回调。打开关闭按钮的不同状态触发不同的槽函数。所以按钮有.原创 2020-07-30 11:07:02 · 3480 阅读 · 0 评论 -
VS + Qt实现上位机串口通信:简单实例,逐级测试
QserialPortInfo:获取串口信息并打印QList<QSerialPortInfo> serialList; //造一个空的QSerialPortInfo对象serialList = QSerialPortInfo::availablePorts();//给链表赋值为获取到的当前设备的所有串口信息的链表ui.label->setText(serialList[0].portName()+"\n"+ serialList[0].description()+"\n"+ se原创 2020-07-29 20:51:41 · 1324 阅读 · 0 评论 -
VS + Qt实现上位机串口通信:QIODevice类
QIODevice ClassQIODevice类是Qt中所有I/O设备的基本接口类。Public Typesflags OpenModeenum OpenModeFlag { NotOpen, ReadOnly, WriteOnly, ReadWrite, ..., ExistingOnly }enum QIODevice::OpenModeFlagflags QIODevice::OpenMode该枚举与open()一起使用,以描述打开设备的模式。 它也由openMode()返回。原创 2020-07-28 21:44:08 · 1181 阅读 · 0 评论 -
VS + Qt实现上位机串口通信:QserialPortInfo类
QSerialPortInfo Class提供有关现有串行端口的信息。Note之前的博文简要介绍了QSerialPort类,完成串口的发送,接受,通信参数如波特率设置是足够了,但总觉得有点不足吧,我希望知道此时能够连接的端口有哪些,那个端口是连着我的设备的,因为可能大部分时间我都不知道我连接的是哪一个端口号。Public FunctionsQSerialPortInfo() //构造一个空的QSerialPortInfo对象。QSerialPortInfo(const QSerialPort原创 2020-07-28 20:58:11 · 713 阅读 · 0 评论 -
VS + Qt实现上位机串口通信:QserialPort类
Qt Serial PortQt串行端口提供基本功能,包括配置,I / O操作,获取和设置RS-232引脚排列的控制信号。要在应用程序中使用串行端口,请添加以下include语句: #include <QSerialPort>有关可用串行端口的信息,请使用以下include语句: #include <QSerialPortInfo>要链接该模块,请将以下行添加到您的qmake .pro文件中: QT += serialportNoteVS中没有pro文件原创 2020-07-28 16:54:58 · 2960 阅读 · 1 评论 -
VS + Qt实现上位机串口通信:环境搭建
VS安装 + Qt安装 :按照官方提示的步骤就可以了。下载安装结束后1,打开VS——扩展——管理扩展——搜索Qt Visual Studio Tools——安装2,扩展——Qt VS Tools——Qt Project settings——Qt Modules——select Modules——勾选Serial Port 模块在这里简要解释一下第二步的原因:我用QtSerialPort类的时候,第一次出现很多乱码,类似main.obj : error LNK2019: 无法解析的外部符号 "_原创 2020-07-28 15:22:50 · 1995 阅读 · 2 评论 -
配置Qt + opencv
折腾了整整一天时间,终于通过各种教程搞定了,我就不重复写内容了,这些参考博客地址我整理了放在下面。https://blog.huihut.com/2018/07/31/CompiledOpenCVWithMinGW64/https://blog.huihut.com/2017/12/03/CompiledOpenCVRunInQt/https://wiki.qt.io/How_to_set...原创 2020-04-17 09:46:48 · 194 阅读 · 0 评论