Halcon/C++编程

2023-11-07

配置环境

网上有许多,可以参考配置opencv的步骤,主要就是在配置库目录,包含目录,lib文件。

注意,一定要看清楚是win32还是x64

2、实例,显示一幅图像

	 //TODO: 在此添加控件通知处理程序代码
	HObject  ho_Image;
	HTuple HWindowID;
	CRect Rect;
	HTuple m_HWindowID;
	HTuple m_ImageWidth, m_ImageHeight;

	CWnd * pWnd = GetDlgItem(IDC_STATIC);
	HWindowID = (Hlong)pWnd->m_hWnd;//获取父窗口句柄
	pWnd->GetWindowRect(&Rect);
	OpenWindow(0, 0, Rect.Width(), Rect.Height(), HWindowID, "", "", &m_HWindowID);
	ReadImage(&ho_Image, "F://1.jpg");
	GetImageSize(ho_Image, &m_ImageWidth, &m_ImageHeight);
	SetPart(m_HWindowID, 0, 0, m_ImageHeight - 1, m_ImageWidth - 1);
	DispObj(ho_Image, m_HWindowID);

 使用对话框读取图片

void CMFCApplication1Dlg::OnBnClickedButton1()
{
	HObject  ho_Image, ho_GrayImage, ho_ImageFFT;
	HObject  ho_Circle, ho_Circle1, ho_RegionDifference, ho_ImageResult;
	HObject  ho_ImageFFTInv;

	// Local control variables
	HTuple  hv_Width, hv_Height, hv_WindowHandle;
	HTuple  hv_Area, hv_Row, hv_Column;

	char* pcsun = "图片文件(.bmp.png.jpg) | .bmp; .png; *jpg | All Files(.) | .* || ";
	CFileDialog OpenDialog(TRUE, _T("*.bmp;*.jpg;*.JPEG;*.JPG;*.tif;*.png"), NULL, OFN_ALLOWMULTISELECT | OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST | OFN_HIDEREADONLY,
		_T("image files All Files (*.*) |*.*||"), NULL);

	if (OpenDialog.DoModal() == IDCANCEL) return;

	CString str = OpenDialog.GetPathName();	//返回带文件名的路径,并传递给编辑控件变量
	str.Replace(_T("\\"), _T("\/\/"));

	USES_CONVERSION;
	ReadImage(&ho_Image,T2A(str));
	GetImageSize(ho_Image, &hv_Width, &hv_Height);
	if (HDevWindowStack::IsOpen())
		HalconCpp::CloseWindow(HDevWindowStack::Pop());
	SetWindowAttr("background_color", "black");
	OpenWindow(0, 0, hv_Width, hv_Height, 0, "visible", "", &hv_WindowHandle);
	HDevWindowStack::Push(hv_WindowHandle);

	if (HDevWindowStack::IsOpen())
		DispObj(ho_Image, HDevWindowStack::GetActive());
	//mean_image (Image, ImageMean, 9, 9)
	//gauss_filter (Image, ImageGauss, 11)
	Rgb1ToGray(ho_Image, &ho_GrayImage);
	FftImage(ho_GrayImage, &ho_ImageFFT);
	AreaCenter(ho_ImageFFT, &hv_Area, &hv_Row, &hv_Column);

	GenCircle(&ho_Circle, hv_Row, hv_Column, 20);
	GenCircle(&ho_Circle1, hv_Row, hv_Column, 100);
	Difference(ho_Circle, ho_Circle1, &ho_RegionDifference);
	PaintRegion(ho_RegionDifference, ho_ImageFFT, &ho_ImageResult, 0, "fill");
	FftImageInv(ho_ImageResult, &ho_ImageFFTInv);
	if (HDevWindowStack::IsOpen())
		DispObj(ho_ImageResult, HDevWindowStack::GetActive());

}

参考:

https://blog.csdn.net/Bettyshasha/article/details/51525930?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-3&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-3

https://blog.csdn.net/kai69/article/details/82665447

http://blog.sina.com.cn/s/blog_e9b995970102x80q.html

https://blog.csdn.net/maizousidemao/article/details/81474834

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Halcon/C++编程 的相关文章

  • Halcon表面检测例程解析

    1 表面划伤检测 例程 xff1a suface scratch dev 描述 xff1a Detect scratches on a surface via local thresholding and morphology 通过使用局部
  • Halcon无图像旋转时的图像拼接

    为了将尺寸较大的产品拍完 xff0c 可采用分区拍摄再拼图的方式 那么 xff0c 如何使用Halcon中的算子进行图像拼接呢 xff1f 本文介绍一种在相机无旋转的情况下使用tile images offset进行图像拼接的方法 该方法计
  • 【Halcon】计算机视觉(CV)与机器视觉(MV)

  • 【Halcon】找到设备上的 标识牌

    如图 找到设备上的 标识牌 标识牌最明显的特征是比其他区域亮 二值化选择出亮区域 再通过面积选择出目标区域 先显示图片 span class token operator span 获取图片的大小 span class token func
  • Halcon 亚像素检测指定区域 瑕疵 轮廓

    如图 找到下图中铭牌上 面积最大的瑕疵快 认为黑点是瑕疵 span class token operator span 读取图片 并获取尺寸 span class token function read image span span cl
  • halcon中的Pose

    Pose 姿态描述的是一个刚性的3D转换 xff0c 即 xff0c 一种由任意平移和旋转组成的变换 在Halcon中 xff0c 一个pose是具有7个参数的元组 xff1a 3个参数描述平移 xff08 TransX TransY Tr
  • Halcon (64位)无法卸载或者卸载不彻底,没法再次安装?

    以管理员身份 切换到cmd 1 删除安装目录 rmdir S HALCONROOT 2 查询安装的Halcon版本 reg query HKLM SOFTWARE Wow6432Node MVTec HALCON Windows x64 3
  • halcon计算仿射矩阵的函数参数中的x和y

    最近opencv和halcon混用 Row Column x y显然已经快乱套了 正常来说 x对应Column y对应Row 是符合自然规律的 但在halcon计算仿射矩阵的函数中参数含义是如下的 hom mat2d translate T
  • 图像处理入门5-特征提取

    特征提取 图像特征提取属于图像分析的范畴 是对图像信息的深层理解 是数字图像处理的高级阶段 同时也是图像识别的开始 特征工程是图像处理的必备工具 所以掌握它的重要性不言而喻 什么是特征 特征是某一类对象区别于其他类对象的相应 本质 特点或特
  • 【QT】Halcon与VS的联合编程2

    1 Halcon代码的导出 导出为C 语言 进行机器视觉应用 在halcon界面的菜单栏项上选择 文件 导出 界面如下 导出之后 在上述导出文件的路径下 你就可以看到程序了 此时这个程序就和halcon没有关系了 就是独立的cpp文件了 2
  • Halcon: (示例 1)OCR 字符识别

    目录 示例 涉及算子描述 text line orientation hom mat2d identity hom mat2d rotate affine trans image dots image reduce domain vecto
  • Halcon-表面检测-----裂纹检测

    对应示例程序 detect mura defects blur hdev 目标 实例实现LCD上有很多污点干扰下 检测LCD的印痕检测 思路为 对LCD图像进行拆分 提取RGB三个分量 对B分量进行处理 将其转换为频域内图像 并对其进行高斯
  • Halcon API

    1 延时等待 wait seconds 0 5 注 括号内以秒为单位 2 遍历文件夹 list files Directory Options Files Directory 目录 文件夹路径 Options 选项 files 指定搜索的格
  • halcon颜色识别

    halcon颜色识别 通过不同颜色在灰度图中的阈值范围不同来区分颜色 使用阈值分别选出不同的颜色 使用灰度平均值 循环读图进行处理 HSV模型区分颜色 通过不同颜色在灰度图中的阈值范围不同来区分颜色 使用阈值分别选出不同的颜色 dev cl
  • Blob分析实现缺陷检测

    检测饼干的缺陷 blob 特征 1 正常的图 2 有缺陷的图 3 代码 This example demonstrates a quality inspection on hazelnut wavers Using the morpholo
  • halcon之Blob分析实战

    Blob分析 Blob Analysis 在计算机视觉中的Blob是指图像中的具有相似颜色 纹理等特征所组成的一块连通区域 Blob分析 Blob Analysis 是对图像中相同像素的连通域进行分析 该连通域称为Blob 其过程其实就是将
  • 颜色识别的实例二

    原图 识别结果 代码 color fuses hdev classify fuses by color dev update window off step set up fuse properties and hue ranges Fus
  • Halcon与WPF联合编程

    环境 VS2017 halcon12 1 新建WPF应用程序完成后 解决方案资源管理器 引用处右键 添加引用如下两个dll 只引入第一个也可以 2 工具箱 空白处右键 选择项 只添加halcondotnet dll 文件位置同上 这样hal
  • Halcon模板匹配

    Halcon模板匹配 Halcon模板匹配的方法 模板匹配的流程 基于形状的模板匹配的思路 原理 Halcon模板匹配的方法 模板匹配的流程 基于形状的模板匹配的思路 读取图像 转灰度图 dev close window dev open
  • 基于灰度的模板匹配(带旋转角度)

    原图 选择模板 旋转180度进行识别 继续旋转 依然可以识别 代码 Searching the best matching of a template in an image with rotation dev close window r

随机推荐

  • 云服务器建站:如何防止别人ping我们的网站?

    一 Ping功能是什么 在网络中ping是一个十分强大的TCP IP工具 它的作用主要为 1 用来检测网络的连通情况和分析网络速度 2 根据域名得到服务器IP 3 根据ping返回的TTL值来判断对方所使用的操作系统及数据包经过路由器数量
  • C++编写封装驱动接口时::符号的意思

    今天在查看mini2440官方提供的camtest c文件时 发现使用C 编写 然后便仔细分析了下代码 发现里面的open close write read等linux系统函数前面都加上了 符号 不明白什么意思 于是在网上找了下 解释如下
  • 四个步骤教你爬取网站图片,新手必学

    很多人学习Python很重要的一个原因是 可以很简单的把一个网站的数据爬下来 尤其是做我们这一行 产品经理 电商行业 领导 弄一个买卖游戏周边商品的交易APP出来 我 行 那我们卖什么呀 领导 看下友商卖什么我们就卖什么 我 好吧 那就爬点
  • redis内存数据库 笔记6:应用场景

    目录 一 网站缓存 二 实现最新消息排行 三 共同好友 一 网站缓存 1 String 字符串 2 Hash 二 实现最新消息排行 List 列表 List 说白了就是链表 redis 使用双端链表实现的 List 相信学过数据结构知识的人
  • 带你了解什么是中断以及外部中断案例分析

    了解什么是中断 好 今天我来给大家讲一下我们什么是中断以及如何去运用外部中断源 首先 我们学习单片机的时候 一定听说过学会中断才是单片机的入门 因为中断系统大大提高了单片机对随机事件的实时处理能力 并且提高了单片机的工作效率 当然 中断这个
  • 函数对象包装器(std::function、std::bind / std::placeholder)

    这部分内容虽然属于标准库的一部分 但是从本质上来看 它却增强了 C 语言运行时的能力 这部分内容也相当重要 所以放到这里来进行介绍 std function和std bind的主要用途之一是安全函数指针 网上有很多文章解释了函数指针在C C
  • 计算机原理--操作系统概览

    操作系统概览 What Why 操作系统的基本功能 操作系统相关概念 What Why 操作系统是管理计算机硬件和软件资源的计算机程序 管理配置内存 决定资源供需顺序 控制输入输出设备等 操作系统提供让用户和系统交互的操作界面 操作系统的种
  • Python 使用 shuffle() 乱序排列/打乱序列/打乱列表

    在 Python 中 列表和元组中的元素是有顺序的 但是由于元组不可变 所以一般我们涉及到打乱操作 都是针对的列表 在深度学习中 由于原始训练数据可能存在顺序性 当我们分批成 mini batch 进行学习的时候 后面的数据会对系数影响更大
  • 数据结构——循环单链表

    循环单链表是单链表的另一种形式 其结构特点链表中最后一个结点的指针域不再是结束标记 而是指向整个链表的第一个结点 从而使链表形成一个环 和单链表相同 循环链表也有带头结点结构和不带头结点结构两种 带头结点的循环单链表实现插入和删除操作较为方
  • MFC CcomboBox控件

    组合框控件简介 组合框其实就是把一个编辑框和一个列表框组合到了一起 分为三种 简易 Simple 组合框 下拉式 Dropdown 组合框和下拉列表式 Drop List 组合框 下面讲讲它们的区别 简易组合框中的列表框是一直显示的 效果如
  • 515. Find Largest Value in Each Tree Row

    You need to find the largest value in each row of a binary tree Example Input 1 3 2 5 3 9 Output 1 3 9 不明白这样的题目还是medium
  • vb 删除服务器文件,【开源】VB编写的WEB服务器,链接在2楼,原帖已删

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 定义 这是一款桌面级的WEB服务器 包含一个静态的http服务器与一个js脚本引擎 可以展示静态的网页与生成简单的动态页面 适合个人在windows服务器上面简单的建立http服务 支持情况 静
  • Unity3D 显示private变量

    显示特定的private变量 以及希望在Object Inspector中显示的并予以显式标记的变量 这类变量将在Normal和Debug模式中加以显示 对此 可利用 SerializeField 属性声明private 变量 如下所示 S
  • 在Ubuntu 14.04上安装最新版mesa

    关于 mesa mesa是一个开源的OpenGL的实现 它被广泛用于包括X Windows在内的各种渲染系统中 具体见官网 http www mesa3d org intro html 现在 我们将在Ubuntu 14 04上编译并安装最新
  • 2023年第五届河南省CCPC大学生程序设计竞赛

    Problem A 小水獭游河南 小水獭来到河南旅游 它认为一个字符串 s 是 HENAN 的当且仅当存在两个非 空 字符串 a 和 b 满 足如下三个条件 a 由小写字母组成 且 a 中每种字母只出现了一次 b 由小写字母组成 且 b 是
  • 不可多得的干货!字节跳动Android实习面试凉凉经,移动架构师成长路线

    前言 说不焦虑其实是假的 因为无论是现在还是最近几年 很早就有人察觉Android开发的野蛮生长时代已经过去 过去的优势是市场需要 这个技术少有人有 所以在抢占市场的时候 基本上满足需要就已经可以了 但是现在 各式各样的APP层出不穷 AP
  • 欧拉回路、欧拉通路、欧拉图、半欧拉图等有关欧拉图的讲解与代码实现

    有人说 图论的起源 就是源于欧拉图 千万别看成柏拉图 题记 首先 先要讲一些有必要知道的东西 当然 我在这里也写过 这里再给出一些拓展的内容 欧拉通路 通过图中每条边且只通过一次 并且经过每一顶点的通路 欧拉回路 通过图中每条边且只通过一次
  • CSRF - 跨站请求伪造

    什么是CSRF CSRF Cross site request forgery 跨站请求伪造 也被称为 One Click Attack 或者Session Riding 通常缩写为CSRF或者XSRF 是一种对网站的恶意利用 尽管听起来像
  • 8、Python——python函数(函数分类以及定义与调用、参数注意事项、内建函数、参数分类、变量定义域)

    目录 1 函数的定义与调用 1 1 什么是函数 1 2 使用函数的好处 1 3 函数的定义 1 3 1 函数的赋值 2 函数参数 2 1 什么是函数参数 2 2 参数的形式 2 3 参数分类 2 3 1 参数的注意事项 2 3 2 可变长位
  • Halcon/C++编程

    配置环境 网上有许多 可以参考配置opencv的步骤 主要就是在配置库目录 包含目录 lib文件 注意 一定要看清楚是win32还是x64 2 实例 显示一幅图像 TODO 在此添加控件通知处理程序代码 HObject ho Image H