HDevelop——全能编程开发工具

一、简介

HDevelop 是一款收费的图像处理/计算机视觉嵌入式开发工具,提供大量图像处理相关算法库、方便易用的可视化界面、可以转化为各种嵌入式平台相应代码的高级图像处理脚本语言和可以在 Ubuntu、Windows 和 macOS 等主流操作系统下使用。而且 HDevelop 也适合初学者学习机器视觉,因为它非常方便使用、有良好的文档说明、有交互式学习例子,既可以做多个图像处理/计算机视觉项目,也可以用来学习。

二、使用 HDevelop 实现边缘检测

边缘在图像处理中属于常见的识别特征,通常不同边缘检测方法会基于不同重要的特性来执行。这里我们用 Canny 边缘检测算法,并在 HDevelop 中实现,以下是 Canny 边缘检测算法的流程:

1. 对原始图像设定一个高斯核进行模糊化,从而去除噪声.
2. 使用类似于 Sobel 算子的方法来找到像素点梯度以及方向.
3. 基于之前的邻域,来修剪当前像素点的边缘.
4. 只保留满足最大值或超过高阈值的像素,不设置的话就是保留低于低阈值和高于高阈值之间的像素.
5. 基于连接了两个高强度边缘的像素来进行更加精确的定位(改进算法).

对应 HDevelop 代码如下:

read_image(Image, "monkey.png")
rgb3_to_gray(Image, GrayImage)
derivate_gauss(GrayImage, DerivGauss, 1, "constant")
sobel_amp_orientation(DerivGauss, Amp, Ori, "cyclic", "normalized", "empirical")
nonmax_suppression(Amp, Ori, EdgeDir, "no_check", 8, "full")
set_draw("margin")
set_color("green")
set_lut("default")
draw_region(EdgeDir, Contours)
threshold(Amp, Edge, 50, 100)
thin_edge(Edge, ThinEdge)
thin_edge(ThinEdge, ThinEdge, "negative")
display(ThinEdge)

三、使用 HDevelop 实现形状检测

形状检测是根据给定的形状,对图像中对象进行辨认的任务。很多产品质量检测、机器视觉应用、场景识别、医学影像处理都需要用到形状检测。这里我们用 HDevelop 实现一个简单的形状检测:如果屏幕中有一张红色矩形,则弹出“红色矩形出现”的消息框。

Red := 128
set_color("red")
set_draw('margin')
device := open_framegrabber('GigE-V-5006', 0,0,0,0,0,0,'default',
                     -1,'false')
grab_image_async(Image, device, -1)

for i := 0 to 10000 by 1
  grab_image_async(Image, device, -1)
  tuple_mean_value(Image, Gray, Row, Column)
  dev_update_window(0)
  if abs(Red-Row)<10 and tuple_abs(Row-Column)<10 and 
     abs(Red-Column)<10 then
      message('红色矩形出现')

四、结语

在这篇文章中,我们从两个方面介绍了 HDevelop 的使用方法。作为一款强大的图像处理开发软件,它既能够帮助我们完成一些简单的图像处理任务,也能够支持更为复杂的视觉计算项目。希望读者能够通过阅读本文,对此软件有一个初步的了解,并可以在实际开发中快速掌握相关技巧。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/190868.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-11-30 09:07
下一篇 2024-11-30 09:07

相关推荐

  • Mac自带Python:你不知道的全能开发工具

    你知道吗?你的Mac自带Python!而且它能够支持开发多种应用程序、执行的任务也很多种多样。让我们一起来探索一下Mac自带Python的神奇功能吧! 一、快速入门 要马上开始使用…

    编程 2025-04-29
  • Anaconda Python – 多面手的全能编程开发工具

    Anaconda Python是一个全能的编程开发工具,它集成了多种Python数据科学和机器学习库以及其他工具。在这篇文章中,我们将从多个方面对Anaconda Python进行…

    编程 2025-04-27
  • Euxqxejs:一款全能编程开发工具

    对于编程开发工程师来说,一款强大的开发工具是必不可少的。Euxqxejs就是一款专为编程开发工程师打造的全能开发工具。本文将从多个方面来详细介绍Euxqxejs的特点和优势。 一、…

    编程 2025-04-27
  • BNFGD:一个全能的编程开发工具

    BNFGD是一个全能的编程开发工具,可以帮助你快速开发软件项目,在不同的应用场景中发挥着不同的作用,下面将从多个方面进行详细阐述。 一、BNFGD的基本功能 在很多软件项目中,我们…

    编程 2025-04-27
  • Python内置的集成开发工具

    Python是一种高级编程语言,广泛应用于Web开发、数据分析、人工智能等领域。Python内置了许多集成开发工具,对于开发人员来说非常方便。本文将从多个方面对Python内置的集…

    编程 2025-04-23
  • Maxcomputer: 多功能编程开发工具

    Maxcomputer是一款全能的编程开发工具,它集成了多种编程语言和开发工具,包括但不限于Java、Python、C/C++、JavaScript、Ruby、PHP等。使用Max…

    编程 2025-04-23
  • guava-java:全能的程序开发工具

    一、简介 Guava是一款由Google开发的Java工具库,提供了一些优秀的、高效的、基于JDK的核心Java库。 Guava-java库的主要特点是它提供了很多高级的操作工具来…

    编程 2025-04-23
  • DelPython:一款全能的Python开发工具

    一、简介 DelPython是一款基于Python语言的开发工具,功能齐全,操作简单,适用于多种开发场景。它能够帮助开发者提高代码开发效率、增加代码可读性,同时还具备功能强大且易于…

    编程 2025-04-23
  • MER5200——一个全能的编程开发工具

    一、简介 MER5200是一个基于C++语言开发的多功能编程工具,它集成了许多常用的开发工具和组件,可以满足你在开发过程中的很多需求。除了传统的编辑器、编译器和调试器等常见的开发工…

    编程 2025-04-22
  • Bugtags开发工具 – 帮你轻松管理和跟踪bug

    一、Bugtags是什么? Bugtags是一个为开发人员打造的bug管理和跟踪工具,它能够帮助开发人员高效地跟踪、收集、整理和解决应用程序中的bug。 二、如何使用Bugtags…

    编程 2025-04-12

发表回复

登录后才能评论