当前位置: 首页 > news >正文

在国产Deepin系统上搞定Halcon 20.11:一份给机器视觉新手的保姆级安装避坑指南

在国产Deepin系统上搞定Halcon 20.11:一份给机器视觉新手的保姆级安装避坑指南

Deepin作为国内最受欢迎的Linux发行版之一,其优雅的界面设计和良好的兼容性吸引了大量开发者。对于机器视觉领域的初学者来说,在Deepin上安装Halcon这类专业工具可能会遇到各种"水土不服"的问题。本文将手把手带你完成从零开始的完整安装过程,特别针对Deepin系统的特性提供解决方案。

1. 安装前的准备工作

在开始安装Halcon之前,需要做好以下几项准备工作。这些步骤看似简单,但往往决定了后续安装过程的顺利程度。

首先确保你的Deepin系统版本为20或更新版本。可以通过以下命令查看系统信息:

lsb_release -a

Halcon 20.11对系统有以下基本要求:

  • 至少4GB内存(推荐8GB以上)
  • 50GB可用磁盘空间
  • 支持OpenGL 3.3以上的显卡

特别注意:Deepin默认使用deepin-wine集成了一些Windows应用,这可能会与Halcon的某些组件产生冲突。建议在安装前执行:

sudo apt remove deepin-wine

提示:如果后续需要使用deepin-wine,可以在Halcon安装完成后再重新安装。

2. 获取安装包与许可证

Halcon官方提供了Linux版本的安装包,但获取过程有几个关键点需要注意。

2.1 注册与下载

访问MVTec官网注册账号时,建议使用机构邮箱(如.edu或企业邮箱),个人邮箱可能会遇到审核延迟。下载页面有多个版本可选:

版本类型适用场景大小
Steady稳定版约2.2GB
Progress开发版约2.3GB
Runtime运行环境约1.8GB

对于初学者,推荐选择Steady版本。下载完成后,建议校验文件完整性:

md5sum halcon-20.11.2.0-linux.tar.gz

2.2 许可证处理

Halcon需要有效的许可证文件才能运行。除了官方提供的试用许可证外,还可以考虑:

  • 教育机构申请的教育版授权
  • 商业用途购买正式授权
  • 社区维护的临时解决方案(注意合规性)

将下载的.dat许可证文件存放在容易找到的位置,例如:

mkdir -p ~/Halcon/licenses cp ~/Downloads/*.dat ~/Halcon/licenses/

3. 安装过程详解

3.1 解压与准备

在Deepin系统上,建议将Halcon安装在/opt目录下,这是Linux系统存放第三方商业软件的常规位置。

sudo mkdir -p /opt/halcon sudo chown $USER:$USER /opt/halcon mv halcon-20.11.2.0-linux.tar.gz /opt/halcon cd /opt/halcon tar -zxvf halcon-20.11.2.0-linux.tar.gz

解压后目录结构如下:

  • bin/:可执行文件
  • examples/:示例程序
  • help/:文档
  • include/:开发头文件
  • lib/:库文件

3.2 执行安装脚本

进入解压后的目录,运行安装脚本:

cd /opt/halcon/halcon-20.11.2.0-linux ./install-linux.sh

安装过程中需要注意几个关键点:

  1. 当显示许可协议时,需要一直按Enter直到出现"I agree"提示
  2. 选择安装组件时,初学者可以全选(按y)
  3. 安装路径保持默认(/opt/halcon)
  4. 遇到依赖缺失时,安装程序会提示所需包

Deepin特有的依赖问题可以通过以下命令解决:

sudo apt install libjpeg62-turbo-dev libpng-dev libtiff5-dev libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libraw1394-dev libusb-1.0-0-dev

4. 环境配置与验证

4.1 配置环境变量

编辑~/.bashrc文件,添加以下内容:

# Halcon环境配置 export HALCONROOT=/opt/halcon export HALCONARCH=x64-linux export HALCONEXAMPLES=$HALCONROOT/examples export PATH=$HALCONROOT/bin/$HALCONARCH:$PATH export LD_LIBRARY_PATH=$HALCONROOT/lib/$HALCONARCH:$LD_LIBRARY_PATH

使配置立即生效:

source ~/.bashrc

4.2 许可证配置

将许可证文件复制到指定目录并设置权限:

sudo mkdir -p /opt/halcon/license sudo cp ~/Halcon/licenses/*.dat /opt/halcon/license/ sudo chmod 755 /opt/halcon/license/*.dat

验证许可证是否被识别:

hlicense -view

4.3 测试安装

运行Halcon开发环境:

hdevelop

或者执行示例程序:

cd $HALCONEXAMPLES hdevelop examples.hdev

如果遇到界面显示问题,可以尝试以下命令:

export QT_AUTO_SCREEN_SCALE_FACTOR=1 export QT_SCALE_FACTOR=1

5. 常见问题解决

在Deepin系统上安装Halcon可能会遇到一些特殊问题,以下是解决方案:

问题1:启动hdevelop时报错"GLIBCXX版本过低"

解决方案:

sudo apt install libstdc++6

问题2:图像采集接口无法使用

需要添加用户组权限:

sudo usermod -a -G video $USER

问题3:深度学习模块无法加载

安装CUDA支持:

sudo apt install nvidia-cuda-toolkit

问题4:中文路径导致问题

Halcon对中文支持有限,建议:

  • 项目路径避免使用中文
  • 图像文件名使用英文

6. 开发环境优化建议

为了提高在Deepin上使用Halcon的开发体验,可以考虑以下优化:

  1. 使用VSCode作为代码编辑器

    • 安装Halcon语法高亮插件
    • 配置代码片段快速输入
  2. 配置快捷键

    gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/ name 'Halcon' gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/ command 'hdevelop' gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/ binding '<Primary><Alt>H'
  3. 性能调优

    • 关闭不必要的桌面特效
    • 调整Swappiness值:
      sudo sysctl vm.swappiness=10
  4. 定期维护

    • 清理临时文件
    • 更新系统组件
    • 备份重要项目

在实际项目开发中,建议将Halcon与Python或C++结合使用,可以利用Deepin上完善的开发工具链。例如,使用PyHalcon进行快速原型开发:

import halcon as ha image = ha.read_image('particle') region = ha.threshold(image, 0, 122) ha.disp_obj([image, region])
http://www.cnnetsun.cn/news/2727026.html

相关文章:

  • DIY 90V 20A可调电源:基于服务器电源与升压模块的电动车电池充电方案
  • 保姆级教程:Keil C51 V9.61 从下载到激活,手把手搞定51单片机开发环境
  • 免费离线OCR终极解决方案:Umi-OCR帮你轻松搞定文字识别难题
  • VS2022安装Resharper C++插件踩坑实录:从下载龟速到激活成功的避坑全记录
  • Plain Craft Launcher 2:终极Minecraft启动器完整指南与故障解决方案
  • 让两个 Agent 互相聊天会发生什么?
  • 告别硬核代码!用UE4材质和UMG轻松复刻CSS级圆角按钮动效
  • 3分钟极速上手:DeepL Chrome翻译插件让你轻松阅读全球网页
  • 终极指南:5个简单步骤解锁旧Mac隐藏潜能,免费升级最新macOS
  • 如何彻底移除Windows Defender:Windows Defender Remover工具完全指南
  • OpenCV可用的舌苔定位级联模型集合(含10阶段分类器与配置文件)
  • Vintern-1B-v2-ViTable-docvqa未来展望:越南语多模态AI的5大发展趋势
  • 如何在浏览器中实现低延迟直播:mpegts.js完整指南
  • PHP数据验证与净化技术全解
  • 东亚地形高程数据包(ArcGIS/MapGIS即用型ESRI Grid格式)
  • 深度解析分布式流媒体播放器架构设计与性能优化指南:mpegts.js 5大架构优势
  • 终极指南:4步使用OpenCore Legacy Patcher让旧Mac重获新生
  • 用Pygame给游戏‘嗷大喵快跑’加个功能:如何实现关卡存档和最高分记录?
  • PhotoGIMP:重塑开源图像编辑的认知边界
  • 【Redis】主从复制Day9
  • AMD Ryzen处理器调优新选择:SMUDebugTool让你的电脑更懂你
  • Hy-MT2-1.8B高级指令使用指南:6种专业翻译模式详解
  • Calme-4x7B-MoE-v0.2多语言能力测试:英法俄三语任务表现深度分析
  • Wand-Enhancer终极指南:3步免费解锁完整游戏修改体验
  • QueryExcel:批量Excel文件查询的终极免费工具,一分钟完成全天工作
  • 抖音下载神器:3分钟掌握无水印批量下载终极指南
  • SXSWedu教育科技盛会:跨界创新、AI与VR应用及实践指南
  • 三步实现闲鱼数据可视化采集:基于uiautomator2的智能爬虫实战
  • Java 程序员第 41 阶段04:企业智能问答机器人落地,搭建内部智能客服系统,FAQ问答与精确检索
  • 数字记忆的时光胶囊:GetQzonehistory如何重塑你的青春档案馆