2020-02-08 10:40:16
这方面的应用,主要用来读写配置文件、写生产数据文件这些方面。也算是经常用到的功能了。代码:#include "QtForOpencv.h"
#include <opencv2\opencv.hpp>
#include <opencv2\core.hpp>
#include <opencv2\imgcodecs.hpp>
#includ...
2020-02-07 20:37:11
在C++中学习过程中,我们都知道:delete 和 new 必须 配对使用(一 一对应):delete少了,则内存泄露,多了麻烦更大。Qt作为C++的库,显然是不会违背C++的前述原则的。可是:在Qt中,我们很多时候都疯狂地用new,却很少用delete,缺少的 delete 去哪儿了?!注:本文暂不涉及智能指针(smart pointer)相关的东西,你可以考虑 Qt 智能指针学习 一文Qt半自...
2020-02-07 16:06:19
本篇演示了下面的内容:QLabel中鼠标常用事件定时器的二种实现方式负责事件分发的event事件负责事件过滤的eventFilter下面的演示代码中,界面上第一个label是一个提升为Mylabel类的自定义控件.其它的是普通的labelMyLable.h#pragma once
#pragma execution_character_set("utf-8")
#inclu...
2020-02-07 15:19:40
自定义控件在C#中用得很多,所以我们有必要看看QT里面是如何实现的。Qt的自定义控件,跟新增一个新窗口步骤是一样的,只不过最后我们在另外一个窗口上如果想引用的话,先放一个QWidget控件上去,然后使用右键菜单的“提升为”功能,可以把继承为我们新定义的窗口。下面勇哥说说详细步骤:(1)你需要添加Qt Class,普通的C++类是不可以的。选择Qt GUI Class,这个类会添加一个Ui窗体。(2...
2020-02-06 22:48:51
QString//QString定义
QString s1 = "abc";
QString s2("hello");
//字符串连接
QString s = s1 + s2;
//组包
s = QString("a = %1, b = %2, c = %3").arg(250).arg("hello"...
2020-02-06 22:42:43
QStringList 初始化 QStringList qstrList;
qstrList<<"Android" << "Qt Creator" << "Java" << "C++";
QStringListIterator strIterator(qst...
2020-02-06 22:04:20
基本上C#中我们常见的控件都包含了。QListWidget这个相当于C#中的listBox控件QTreeWidget这个相当于C#中的listView控件QTableWidget这个是C#中的dataGridView控件QStackedWidget这个就是没有标签显示的TabWidget控件QLabel在QT中,这个控件除了显示文字,还可以显示图片,电影,gifQTabWidget这个相当于C#中...
2020-02-06 19:06:11
在QT的QString中,arg方法类似于C中的printf中使用的格式输出符(只是有点类似)。在QT5的帮助文档中,可以看出以下几点:使用arg(str1, str2, str3)这种方法进行替换。使用arg(str1).arg(str2).arg(str3)这种方法进行替换。使用arg(int, int, int)这种方式进行替换。解释以下两种方法:一:使用arg(str1, str2, st...
2020-02-06 18:27:02
这篇勇哥要熟悉一下QT的信号槽怎么样快速实现。想要快速实现就不能完全敲代码,可以借助于QT的UI编辑器来完成。另外通过常见的QCommboBox控件来熟悉控件的操作。还有多个窗口是如何调用。代码:QtForOpencv.h#pragma once
#pragma execution_character_set("utf-8")
#include <QtWidgets/...
2020-02-04 18:50:26
今天研究一下常见界面控件。包括下面的内容: QMainWindow菜单栏只允许一个工具栏可以有多个状态栏只允许 一个铆接部件这个就是浮动窗口,可以有多个核心部件核心部件可以是文本编辑,图片编辑控件等。只允许 一个。资源文件 资源 文件的引用方式是:":+前缀+文件名" 可以在UI编辑器中创建资源,并复制资源路径。QMainWindow是创建QT GU...
2020-02-04 18:44:50
Qt中文显示乱码解决方法一、Qt4中的解决方法方法1:在程序开始时增加初始编码类型#include < QTextCodec >int main(int argc, char **argv){....................QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF8"));QTextCod...
2020-02-04 16:08:52
前言勇哥对于C语言,C++早些年有一些接触,这个系列贴子就记载一下C++应用框架的学习经验。
在写程序时,UI、基础类库、应用程序框架对于vc来讲,只能依靠MFC和QT了。
勇哥对MFC有很强的抵触,它长得丑,很多地方反人类,唯一的好处是VC原生自带的。
所以还是先研究一下QT,再研究MFC吧,否则会带了很大的挫折感。
另外,采用vc++进行.net开发,即托管方式开发,可以使用WPF做界...
2020-02-03 19:16:42
VS2019:基于Qt+OpenCV创建项目一、前言二、具体配置流程VS创建Qt项目插件安装需要创建VS中Qt项目配置OpenCV三、测试输出如下:四、待更新内容五、参考文档一、前言如标题所说,这篇文章是基于Qt和OpenCv来创建项目,所以 首先应该安装Qt和OpenCv,本篇文章主要阐述如何配置,安装Qt和OpenCV请参考已下文章。环境:win10,VS 2019,qt 5.12.5,ope...
2020-02-03 16:29:30
模板匹配是机器视觉里面最重要的内容之一,如果没有它,像一些定位的案子就没办法开展了。这个是需要重点研究的话题。演示代码:完全引用下贾志刚老师的代码。从效果上来看,完全没有办法和halcon的模板匹配进行比较,这个真是让人沮丧的结果。难怪群里有些朋友说,OpenCV的模板匹配想要实用,需要自己写算法。#include <opencv2/opencv.hpp>
#include <...
2020-02-03 14:25:01
演示代码:#include <opencv2/opencv.hpp>
#include <iostream>
#include <math.h>
using namespace std;
using namespace cv;
Mat src; Mat hsv; Mat hue;
int bins = 12;
void Hist_And_B...
2020-02-03 13:44:50
演示代码:#include <opencv2/opencv.hpp>
#include <iostream>
#include <math.h>
using namespace std;
using namespace cv;
string convertToString(double d);
int main(int argc, char*...
2020-02-03 10:16:17
演示代码:#include <opencv2/opencv.hpp>
#include <iostream>
#include <math.h>
using namespace cv;
using namespace std;
int main(int argc, char** argv) {
Mat src, dst;
src = imr...
2020-02-03 09:17:49
这一课讲了两个直方图有关的理论,重点在理论知识。即:什么是直方图、直方图均衡化。勇哥很欣赏贾志刚老师的讲课,理论与实践结合,许多理论都丰富了勇哥对halcon算子的认识。在之前,学习halcon主要精力都是在学习算子怎么用,从来没可能了解它的基础理论,现在贾志刚老师这套opencv的教程则可以反哺halcon的基础理论。演示程序:#include <opencv2/opencv.hpp>...
2020-02-02 20:42:01
演示代码:#include <opencv2/opencv.hpp>
#include <iostream>
#include <math.h>
using namespace cv;
using namespace std;
int index = 0;
Mat src, dst,mapx,mapy;
void updateMap(void)...
2020-02-02 16:48:58
演示代码:#include <opencv2/opencv.hpp>
#include <iostream>
#include <math.h>
using namespace cv;
using namespace std;
int main(int argc, char** argv) {
Mat src, dst;
src = imr...
2020-02-02 15:52:01
找线找圆是勇哥感兴趣的话题,在机器视觉里面,没有这个功能是没办法干活的。不过,遗憾的是,勇哥按照视频里面做,曝出下面的错误。花了几个小时网上求解,不得解,郁闷!只能暂时先把贴子写下去,有解决办法再回来补充贴子了!补注:2020/2/2勇哥发现错误的原因了,我把HoughLinesP写成了HoughLines,后者是老手用的,所说要自己反变换到平面空间(暂时不懂这个)。演示代码:#include &...
2020-02-02 11:10:39
Canny算子的原理是比较复杂的,勇哥听了几遍都没搞明白。唉,还是先学会怎么用吧。演示代码:#include <opencv2/opencv.hpp>
#include <iostream>
#include <math.h>
using namespace cv;
int t1_value = 50;
int max_value = 255;...
2020-02-02 09:47:17
演示代码:#include <opencv2/opencv.hpp>
#include <iostream>
#include <math.h>
using namespace cv;
int main(int argc, char** argv) {
Mat src, dst,dst2,dst3,dst4,dst5,dst6,dst7;...
2020-02-02 07:29:13
演示代码:#include <opencv2/opencv.hpp>
#include <iostream>
#include <math.h>
using namespace cv;
int main(int argc, char** argv) {
Mat src, dst;
src = imread("e:/bobdert...
2020-02-01 22:09:14
演示代码:#include <opencv2/opencv.hpp>
#include <iostream>
#include <math.h>
using namespace cv;
int main(int argc, char** argv) {
Mat src, dst,dst2,dst3,dst4,dst5,dst6;
src...
2020-02-01 20:43:18
演示代码:#include <opencv2/opencv.hpp>
#include <iostream>
#include <math.h>
using namespace cv;
Mat src, gray_src, dst;
int threshold_value = 127;
int threshold_max = 255;
int...
2020-02-01 19:03:43
演示代码:#include <opencv2/opencv.hpp>
#include <iostream>
#include <math.h>
using namespace cv;
int main(int argc, char** argv) {
Mat src, dst;
src = imread("e:/5.png&q...
2020-02-01 18:08:07
演示代码:#include <opencv2/opencv.hpp>
#include <iostream>
#include <math.h>
using namespace cv;
int main(int argc, char** argv) {
Mat src, dst,dst2,dst3,dst4;
src = imread(&...
2020-02-01 15:28:30
OpenCV的形状学算子morphologyEx,包括了常见的:开运算闭运算梯度顶帽黑帽等操作。演示代码:#include <opencv2/opencv.hpp>
#include <iostream>
#include <math.h>
using namespace cv;
int main(int argc, char** argv) {...
2020-02-01 14:47:06
膨胀与腐蚀是形态学操作中的一种,是比较有用的。在halcon机器视觉中也是常用操作。请看演示代码:#include <opencv2/opencv.hpp>
#include <iostream>
#include <math.h>
using namespace cv;
Mat src, dst;
void CallBack_Demo(int...