QT与OpenCV
小任同学Alex
这个作者很懒,什么都没留下…
展开
-
Halcon与Qt联合编程方法二(C++版本)
上一篇文章中提到基于python实现Halcon与Qt联合编程,但是在实际开发中,比如说已经有了qt编写的c++版软件进行算法迭代,或者已经有了halcon编写的(.hdev文件)算法,想进行软件封装,这时候可以考虑把halcon编写的.hdev文件转化成.cpp文件,然后基于qt实现联合编程。#-----------------------添加进.pro工程文件-----------------#-----------------------QT与halcon联合编程配置-------------原创 2023-05-09 11:50:27 · 4211 阅读 · 1 评论 -
Halcon与Qt联合编程方法一(python版本)
halcon中集成了很多图像处理算法,是个机器视觉开发神器,但是把算法落地需要形成软件,大多时候用到qt,qt的跨平台特性使得它成为软件开发工程师越来越多的选择。此类方式是基于.py文件,也就是halcon包和pyqt实现。(二)用pyqt写软件,嵌入算法。(一)安装halcon包;原创 2023-05-09 10:22:05 · 529 阅读 · 0 评论 -
记录下qt中文乱码问题和设置图标
记录下qt中文乱码问题生成exe以后,exe名字以及界面中中文会乱码,网上有多种解决方式,第一种是:工具–选项–文本编辑器–文件编码–默认编码:UTF-8/UTF-8 BOM:如果编码是UTF-8则添加如下图所示:这种方法没有解决我的问题采用另外一种方式:在头文件(.h文件)中加入:#if defined(_MSC_VER) && (_MSC_VER >= 1600)# pragma execution_character_set("utf-8")#endif成原创 2022-04-13 13:26:58 · 230 阅读 · 0 评论 -
CV_EVENT_LBUTTONDOWN未定义标识符报错
CV_EVENT_LBUTTONDOWN未定义标识符报错用OpenCV实现鼠标画框显示坐标时,报错CV_EVENT_LBUTTONDOWN未定义标识符,经过查询和测试,有两种方法可解决报错:法一:增加头文件#include <opencv2/highgui/highgui_c.h>法二:OpenCV3以后CV_XXX_XXX函数,改为了XXX_XXX,去掉前面的CV_就是新版本中同样的函数,将 CV_EVENT_LBUTTONDOWN改成 EVENT_LBUTTONDOWN,报错消原创 2021-02-02 10:31:05 · 6406 阅读 · 1 评论 -
IplImage转Mat,然后保存图片
IplImage转Mat在保存图片时,发现并不是opencv的mat格式,直接用imwrite会报错,经过查资料和测试,成功将IplImge转为mat,然后保存图片IplImage转MatloadImage("E:\image.jpg");//图片地址cv::Mat img_mat(src,true);//其中,后一个参数代表深浅复制,true代表全新的拷贝,false代表指向同一内存块。imwrite("result.jpg",img_mat;//将图像保存为result.jpg以下是查找的原创 2021-01-30 22:27:21 · 609 阅读 · 1 评论 -
QT中CvFont函数一直报错 unknow type name
QT中CvPoint函数一直报错unknow type name最近在实现qt中鼠标画框读取图像坐标值时CvPoint报错 “unknow type name ‘CvFont’” 经过不停的调试,发现引用这个头文件就可以了,报错问题有效解决#include "opencv2/imgproc/imgproc_c.h"...原创 2021-01-29 14:13:51 · 1078 阅读 · 0 评论 -
QT上控件输入数字改变代码里变量
QT上控件输入数字改变代码里变量void LEDInspection::on_decPixelX_textChanged(const QString &arg1){ QLineEdit *lineEdit=new QLineEdit(this); QString text= ui->decPixelX->text(); decArea = text.toInt(); qDebug()<<decArea<< Qt::endl原创 2021-01-26 13:37:39 · 1103 阅读 · 0 评论 -
QT上按钮打开文件夹导入图片
QT上按钮打开文件夹导入图片void CameraConfig::on_openTemimgButton_clicked(){ QString OpenFile, OpenFilePath; OpenFile = QFileDialog::getOpenFileName(this, "please choose an image file", "", "Image Files(*.jpg *.png *.bmp *.pgm *.pb原创 2021-01-26 13:34:47 · 1683 阅读 · 1 评论 -
qt运行时突然跳到 CV_DbgAssert((unsigned)i0 < (unsigned)size.p[0]);
qt运行时突然跳到 CV_DbgAssert((unsigned)i0 < (unsigned)size.p[0]);今天在运行qt读取指定范围rgb值和hsv值时,突然跳到这个命令。经过查阅资料和调试,解决了。其实是访问不到像素。比如说500500的像素,给出的访问命令600 400,超出了500,就出现这个问题了。...原创 2021-01-15 09:11:54 · 2570 阅读 · 2 评论 -
qt中已知多个中心点,将中心点传入二维vector,遍历多个中心点附近(包含中心点长方形)hsv值和rgb值
qt中已知多个中心点,将中心点传入二维vector,遍历多个中心点附近(包含中心点长方形)hsv值和rgb值vector<int> vec10;//用于存放中心xvector<int> vec11;//用于存放中心yvector< vector<int> > centers;centers.push_back(vec10);//将一维vector推入二维vector centerscenters.push_back(vec11);//将一维vect原创 2021-01-13 17:41:44 · 205 阅读 · 0 评论 -
qt中打开处理图像按钮后循环处理wait应用
qt中打开处理图像按钮后循环读取图像并处理wait应用用while(1)循环读取、处理图像,qt中label显示图像时会没反应,这时候加个等待的函数,哪怕等待0秒,label就会显示图像了新建一个类函数(xxxxx.cpp文件)#include #include void Camera::Wait(int msec){QTime reachTime = QTime::currentTime().addMSecs(msec);while( QTime::currentTime() < r原创 2021-01-12 19:46:38 · 380 阅读 · 0 评论 -
C++中#include<XXX.h>和#include“XXX.h“的区别
C++中#include<XXX.h>和#include"XXX.h"的区别#include<>直接从编译器自带的函数库中寻找文件#include""是先从自定义的文件中找 ,如果找不到在从函数库中寻找文件采用"< >"方式进行包含的头文件表示让编译器在编译器的预设标准路径下去搜索相应的头文件,如果找不到则报错。特别要注意的是,如果是标准库头文件,那么既可以采用<>的方式,又可以采用" “的方式,而用户自定义的头文件只能采用” "的方式。例如,如下这原创 2021-01-11 14:39:34 · 905 阅读 · 3 评论 -
continue与break区别
continue与break区别。continue结束当次循环,后面的循环继续;break结束当前循环,后面的不执行。原创 2021-01-11 11:47:00 · 122 阅读 · 0 评论 -
QT显示opencv处理好的二值化图像,图像适应label框大小
QT显示opencv处理好的二值化图像 图片适应控件大小显示最近在写qt显示处理好的图片时,发现qt里Qlabel只能显示三通道图片,而opencv二值化之后的图片是单通道的,查了一些网页和调试以后,用以下代码运行成功。图片适应控件大小显示Mat img ;cvtColor(threshold,img,CV_GRAY2RGB); //threshold 是单通道图像(mat格式) ,把单通道转换为三通道 QImage image5((const uchar*)img.data,img.cols,i原创 2021-01-09 14:07:05 · 1206 阅读 · 0 评论