halcon linux qt,Halcon C++混合编程学习之Qt 实现检测焊接点
Halcon C++混合编程学习之Qt 实现检测焊接点
# include "HalconCpp.h"
# include "HDevThread.h"
# include
# include
using namespace HalconCpp;
// Main procedure
void action()
{
// Local iconic variables
HObject ho_Die, ho_Brightregion, ho_ROI, ho_DieROI;
HObject ho_RawSegmentation, ho_Wires, ho_BallRegion, ho_Balls;
HObject ho_FinalBalls;
// Local control variables
HTuple hv_WindowID,hv_WindowID2;
HTuple hv_Width,hv_Height;
ReadImage(&ho_Die, "/home/debug/Halcon_Test/Halcon_Qt_Test/DeteBondPoint/die_03.png");
GetImageSize(ho_Die,&hv_Width,&hv_Height);
SetWindowAttr("background_color","black");
OpenWindow(0,0,hv_Width,hv_Height,0,"","",&hv_WindowID);
HDevWindowStack::Push(hv_WindowID);
DispImage(ho_Die,hv_WindowID);
Threshold(ho_Die, &ho_Brightregion, 128, 255);
ShapeTrans(ho_Brightregion, &ho_ROI, "rectangle2");
ReduceDomain(ho_Die, ho_ROI, &ho_DieROI);
Threshold(ho_DieROI, &ho_RawSegmentation, 0, 50);
FillUpShape(ho_RawSegmentation, &ho_Wires, "area", 1, 100);
OpeningCircle(ho_Wires, &ho_BallRegion, 15.5);
Connection(ho_BallRegion, &ho_Balls);
SelectShape(ho_Balls, &ho_FinalBalls, "circularity", "and", 0.85, 1.0);
if (HDevWindowStack::IsOpen())
SetWindowAttr("background_color","black");
OpenWindow(0,0,hv_Width,hv_Height,0,"","",&hv_WindowID2);
HDevWindowStack::Push(hv_WindowID2);
DispObj(ho_FinalBalls, HDevWindowStack::GetActive());
WaitSeconds(100);
ClearWindow(hv_WindowID);
ClearWindow(hv_WindowID2);
}
int main(int argc, char *argv[])
{
// Default settings used in HDevelop (can be omitted)
int ret=0;
// SetSystem("width", 700);
// SetSystem("height", 600);
XInitThreads();
action();
return ret;
}
结果如下:
halcon linux qt,Halcon C++混合编程学习之Qt 实现检测焊接点相关推荐
- Qt Quick Qml 之QML与C++ 混合编程学习
<QML与C++ 混合编程学习> 1. 在 QML 中使用 C++ 类和对象 1) C++ 类的修改 2) 注册 QML 类型 3) 在 QML 中导入类型 4) 在 QML 创建由 C+ ...
- QT与MATLAB混合编程
QT与MATLAB混合编程 本文就介绍使用 Qt 和 Matlab 进行混合编程的基本流程,主要包括: 如何在Matlab中将m文件编译为C++语言的DLL文件 如何在Qt项目中加入自定义DLL相关的 ...
- C++和qt designer的混合编程--动态计算加法小工具
文章目录 前言 一.准备工作 二.开发步骤 1.新建文件夹 2.编辑add.ui文件 2.具体实现 2.1 编辑add.h文件 2.2 编辑add.cpp文件 2.3 关联槽函数 总结 前言 最近的工 ...
- Linux与C++11多线程编程(学习笔记)
多线程编程与资源同步 在Windows下,主线程退出后,子线程也会被关闭; 在Linux下,主线程退出后,系统不会关闭子线程,这样就产生了僵尸进程 3.2.1创建线程 Linux 线程的创建 #inc ...
- Qt与Matlab混合编程细节总结
最近准备做一个项目,其中要用到很复杂的拟合算法等,自己去实现这些算法要很久,而手边有师兄已经写好的Matlab函数,如果可以实现利用Qt调用这些函数,那么工作量将会减少很多.而且这个看上去也很简单,至 ...
- qt web混合编程_基于Qt与MATLAB的混合编程技术
摘要:在Qt雷达仿真系统中,数据处理及图形显示尤为重要.本文为此提出了一种Qt与MATLAB混合编程的方法.通过VC++和MATLAB混合编程技术,将MATLAB函数封装成动态链接库,Qt调用这个动态 ...
- qt matlab环境配置文件,Qt与matlab混合编程
由于项目需要,需要调用现有的matlab程序,考虑将matlab程序生成动态链接库,再在Qt下动态调用.在这个过程中,遇到了许多问题,写个文章mark一下. 1.环境准备 我的电脑是win10,也先装 ...
- 学习笔记:Qt与Matlab混合编程及遇到的诸多问题(附DEMO)
工具:MATLAB R2014b,Qt 5.6.1, 目标:通过MATLAB写一个简单的函数,生成动态链接库DLL,再在Qt上调用 1.在MATLAB主页新建一个函数 记住函数的名字和保存的函数文件的 ...
- Linux C++与Python混合编程(g++生成链接库与python调用)
gcc/g++ 链接库的编译与链接 这一篇对动态链接库和静态链接库以及编译结果讲得很清楚,目前看到最好的. Linux下Python与C++混合编程
最新文章
- Exception in thread “main“ org.apache.hadoop.hbase.client.RetriesExhaustedException: Can‘t get the l
- 给table里面的添加图标_刺激!微信“变色”了!换个带quot;色quot;的图标吧
- 12 月机器学习新书:《可解释机器学习方法的局限》,免费下载!
- 美团算法专家:入门机器学习,比你想的要简单
- Generate Java objects for FpML using JAXB and Maven: The Easy Way!
- Inpainting图像修复halcon算子,持续更新
- mysql 大量列 动态变量_aardio动态mysql变量设置
- 【华为云技术分享】【DevCloud · 敏捷智库】如何避免重要需求遗漏?
- matlab采集网口数据,使用Signal Tap II采集到的数据进行Matlab仿真(转载)
- 《信息可视化:交互设计(原书第2版)》——1.1节可视化
- webpack 实用配置总结
- phpstudy没有安装VC11、VC14运行库
- regester正则用法_Regester下载|Regester(正则表达式测试器) 官方版v2.0.1 下载_当游网...
- 使用ico图标†制作ico图标(浏览器图标
- 华为什么出鸿蒙系统,华为已官宣鸿蒙,中兴和魅族的态度却截然不同, 到底啥原因?...
- 2022 年项目经理薪酬趋势:找工作就这么谈
- 【Head First 模式设计】第1章 策略模式
- NC81 二叉搜索树的第k个结点
- iframe 去除边框和自适应高度
- python实现情感分析_使用python+机器学习方法进行情感分析(详细步骤)
热门文章
- 手机wifi连接身份验证出现问题
- 关于DFS(分布式管理系统)——独立空间,文件夹的隶属关系和设置——安装和参数
- 126届127届128届广交会名录免费送
- WEB 视频开发-MSE
- 全套Office办公软件WORD/PPT/EXCEL视频教程 每日更新中
- 转:将自己的 ubuntu 系统制作为ISO镜像
- [静态时序分析简明教程(一)] 绪论
- iPhone版QQ2013降级QQ2012教程:无需越狱也不会丢失数据
- 机器学习面试常见问题(一)
- elementUI+nodejs中间件multer+mysql实现图片上传功能