Halcon C++混合编程学习之Qt 实现检测焊接点
1 # include "HalconCpp.h"
# include "HDevThread.h"
# include <X11/Xlib.h>
# include <stdio.h> 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(,,hv_Width,hv_Height,,"","",&hv_WindowID);
HDevWindowStack::Push(hv_WindowID);
DispImage(ho_Die,hv_WindowID); Threshold(ho_Die, &ho_Brightregion, , );
ShapeTrans(ho_Brightregion, &ho_ROI, "rectangle2");
ReduceDomain(ho_Die, ho_ROI, &ho_DieROI);
Threshold(ho_DieROI, &ho_RawSegmentation, , );
FillUpShape(ho_RawSegmentation, &ho_Wires, "area", , );
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(,,hv_Width,hv_Height,,"","",&hv_WindowID2);
HDevWindowStack::Push(hv_WindowID2);
DispObj(ho_FinalBalls, HDevWindowStack::GetActive()); WaitSeconds();
ClearWindow(hv_WindowID);
ClearWindow(hv_WindowID2); } int main(int argc, char *argv[])
{
// Default settings used in HDevelop (can be omitted)
int ret=;
// SetSystem("width", 700);
// SetSystem("height", 600);
XInitThreads();
action();
return ret;
} 结果如下:

Halcon C++混合编程学习之Qt 实现检测焊接点的更多相关文章
- C# WPF Halcon HDevEngine混合编程
1. WPF+Halcon 引用halcondotnet.dll和hdevenginedotnet.dll XAML中导入命名空间xmlns:halcon=”clr-namespace:HalconD ...
- halcon与C#混合编程进阶版
这篇主要是C#和Halcon的混合编程,在此基础上对按键不同功能的划分,以及图片适应窗口和从本地打开图片. 新手来这里:http://www.cnblogs.com/badguy518/p/55150 ...
- Halcon 17与 c# 混合编程
这篇主要是C#和Halcon的混合编程,在此基础上对按键不同功能的划分,以及图片适应窗口和从本地打开图片. halcon源程序: dev_open_window(0, 0, 512, 512, ' ...
- C++与Java混合编程
现在的程序员,不再像以前一样,掌握一种编程语言就可以混得有模有样了,现实的情况是,真实的项目中,通常是涉及多种编程语言,举几个简单的例子,一个软件为了快速开发,可能是使用Delphi或VB作为界面开发 ...
- 在Qt(C++)中与Python混合编程
一.PythonQt库 在Qt(C++)中与Python混合编程,可以使用PythonQt库. 网站首页:http://pythonqt.sourceforge.net 下载页面:https://so ...
- 【Qt】Qt Quick 之 QML 与 C++ 混合编程详解
Qt Quick 之 QML 与 C++ 混合编程详解 - CSDN博客 专栏:Qt Quick简明教程 - CSDN博客 .
- matlab C++ (VS Qt)混合编程 / mxArray / QT5中文乱码
一.混合编程环境搭建---依据我的情况,分成了4个部分: 1:破解matlab,因为matlab破解不完全,编译器不能使用,会出错.(参考https://blog.csdn.net/a12593012 ...
- VS/Qt C++和Matlab混合编程
最近两天在搞C++和Matlab混合编程,这个中间过程真是让人心酸啊,最后还是搞定成功!现在把这个过程记录一下. 首先自己的电脑本来就安装着matlab2013b,按着网上的说法首先需要输入!mcc, ...
- C# Halcon混合编程中遇到的问题(一)
目标平台 安装64位的halcon的情况下,目标平台必须使用x64而不能使用x86 目标框架 不能使用.Net Framework Client版本,有一些必须的程序集会缺失,测试使用.Net Fra ...
随机推荐
- Uva 208 - Firetruck
[题目链接]http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&p ...
- cocos2d-x生成随机数
//获取系统时间 //time_t是long类型,精确到秒,通过time()函数可以获得当前时间和1970年1月1日零点时间的差 time_t tt; ...
- 软件工程第一次个人项目——词频统计by11061153柴泽华
一.预计工程设计时间 明确要求: 15min: 查阅资料: 1h: 学习C++基础知识与特性: 4-5h: 主函数编写及输入输出部分: 0.5h: 文件的遍历: 1h: 编写两种模式的词频统计函数: ...
- TypeScript学习笔记(一):介绍及环境搭建
官网 TypeScript目前还在快速的发展中,当前的版本是1.6,有关TypeScript更多的信息可以在其官网中获取. http://www.typescriptlang.org/ 什么是Type ...
- C#学习笔记(三):值类型、引用类型及参数传递
值类型和引用类型简介 C#中存在两种数据类型,分别是值类型与引用类型,下面我们来看看这两种类型的区别. 值类型主要包括: 简单类型(如int.float.char等,注意string不是值类型): 枚 ...
- Schwarz导数与凹凸性
命题 1: 定义区间$I$上的Schwarz导数$$D^{2}f(x)=\lim_{h\to 0}\frac{f(x+h)+f(x-h)-2f(x)}{h^{2}}$$若$D^{2}f(x)\geq ...
- android知乎小圆圈刷新效果
前几天看到包括知乎在内的很多应用都使用到了一种小圆圈划动刷新的效果,仔细查了一下,原来是android v7包里面最新的刷新效果.使用起来也是十分简单的. 首先先建立一个activity,在布局文件里 ...
- Rstudio设置永久工作路径
Rstudio中 getwd() 获取工作路径 setwd() 设置工作路径 但这种方式设置后每次打开都要重新设置,现在介绍一种设置永久路径的方法
- 预览Cube出现没有注册类错误
用Microsoft SQL Server Management Studio预览AS上的Cube 出现如下错误. TITLE: Microsoft SQL Server Management Stu ...
- Hyper-V网络配置
Hyper-V虚拟交换机类型应用: 外部虚拟网络: 可以实现虚拟机之间.虚拟机和物理机.虚拟机和外部网络的通信. 生产环境不勾选“允许管理操作系统共享此网络适配器”,勾选之后会为主机创建虚拟网卡,会实 ...