Halcon C++混合编程学习之Qt 达成检测焊接点
发布时间:2021-11-18 16:52:49 所属栏目:教程 来源:互联网
导读:Halcon C++混合编程学习之Qt 实现检测焊接点 # 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_Brightre
Halcon C++混合编程学习之Qt 实现检测焊接点 # 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(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; } (编辑:济南站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |