• halcon安装以及配置


    halcon简介

    halcon是工业领域最著名的商业视觉软件,性能很好,当然也贵。
    opencv是开源的,免费,但是不好用,需要自己写算法,太花时间和精力,所以准备尝试一下halcon

    halcon安装

    我安装的是21.05版,版本号为21050,属于是比较新的版本,license的话,官方每个月都提供可以试用1个月的试用License,每月更换的话,可以一直用。网上很多提供的,自行搜索。
    安装没啥说的,正常安装,装完之后将License文件放入相应目录即可。
    都弄好以后,桌面会出现2个图标
    在这里插入图片描述
    一个带XL,另一个不带,2个的区别是XL是专门用来处理超大图片文件,32k * 32k以上的图片用这个,一般的图片处理用不带XL的那个就可以了

    anaconda安装

    anaconda官网下载最新版本,我安装的是2022.05版本
    安装的时候勾选路径选项,两个都勾上
    在这里插入图片描述
    我的安装路径是C:\anaconda3,记住这个路径,后面配置环境的时候要用到,在C:\anaconda3\envs。
    装好以后是自带py thon3.9,还有很多常用的库,省得一个一个去装了。

    Anaconda的配置

    在windows中用管理员权限打cmd.exe,输入conda create -n halcon python=3.9,即可在C:\anaconda3\env下创建一个名为halcon的开发环境。然后输入conda activate halcon激活halcon环境,可以看到提示符发生了变化
    在这里插入图片描述

    安装Halcon库

    继续安装Halcon库,pip install mvtec-halcon==21050,21050就是我安装的Halcon的版本号,这个数字一定要和已经安装的Halcon对应。可以在Halcon运行后,帮助–关于中找到版本信息。
    在这里插入图片描述
    安装完后,输入conda list
    在这里插入图片描述
    可以看到箭头所指的Halcon库已经安装。

    pyCharm

    我用的IDE是PyCharm,安装见这篇文章,跳过第1步即可。https://blog.csdn.net/13011803189/article/details/125114038
    也可以直接去PyCharm官网下载,用免费的社区版就可以了,商业版的要收费,没必要。

    新建工程

    在这里插入图片描述
    然后在Halcon的安装目录中复制halcon.dll, halconc.dll, halconcpp.dll, hdevenginecpp.dll 这4个文件到新建的工程中,版本对应的原因就在于此。版本号不同虽然大多数情况下也能用,但不能保证完全兼容。
    我的Halcon安装目录是默认的,C:\Program Files\MVTec\HALCON-21.05-Progress\bin\x64-win64
    弄好以后,在Pycharm中是这样的
    在这里插入图片描述

    Halcon在Pycharm中编程

    第1个程序 ,测试环境

    main.py中的内容如下,不用作任何修改,直接复制粘贴即可

    import halcon as ha
    import os
    
    if __name__ == '__main__':
        img = ha.read_image('pcb')
        width, height = ha.get_image_size_s(img)
        print(width, height)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    如果前面所有操作无误,应该会有打印输出
    1109 871

    第2个程序,显示窗口

    halcon的函数很直观明了。

    import halcon as ha
    
    Image = ha.read_image('claudia')	# 读图片,默认文件夹中保存了许多PNG格式的图片
    Width, Height = ha.get_image_size(Image)
    print(Width, Height)
    
    # 打开一个窗口
    WindowHandle1 = ha.open_window(0, 0, Width[0]/2, Height[0]/2,
                                father_window=0,mode='visible',machine='')
    
    gray = ha.rgb1_to_gray(Image)	# RGB转灰度
    thres = ha.threshold(gray, 100, 200)	# 灰度转二值化
    
    ha.disp_obj(Image, WindowHandle1)	# 显示原图片
    ha.wait_seconds(2)
    ha.disp_obj(gray, WindowHandle1)	# 显示灰度图片
    ha.wait_seconds(2)
    ha.disp_obj(thres, WindowHandle1)	# 显示二值化后的图片
    ha.wait_seconds(2)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    接下来就是学习各种算子了,这个推荐在Halcon自带的开发环境中进行,测试完成后再移植到这边即可。

  • 相关阅读:
    COM库使用与问题解决
    怎么用测量来分辨双向TVS管的好坏?-优恩
    【redis】7.6 安装与配置Redis - (docker-compose)
    英特尔发布31.0.101.3430和31.0.101.2111新驱动
    Java14新增特性
    Mac环境部署单机版Hbase及使用JavaAPI对Hbase增删改查
    【51单片机】LED点阵屏(动画显示CSDN)
    debian 9 ssh root权限登录
    C++设计模式-设计模式简述
    Android 10 如何在SurfaceFlinger中解决开机动画显示不全问题
  • 原文地址:https://blog.csdn.net/13011803189/article/details/125464259