本文以钢筋计数为例,讲解一下如何使用ImageJ软件进行计数,这里只介绍两种方法:

  • 多点工具法
  • 阀值分割法

钢筋计数是我接触的第一个视觉项目,虽然项目最后不了了之,但作为我机器视觉的开荒项目还是很有纪念意义。

多点工具法

多点工具法适用于数目不多的情况,讲究大力出奇迹,纯手动计数。

右键点工具选择Multi-point Tool激活工具:

双击点工具,设置点的颜色、形状并勾选Label points

手动点击目标即可计数,按住Alt键点击则可取消该点

根据最后一个计数可得总共100根,也可以通过Analyze->Measure查看计数结果和标注点的坐标:

如果想把标注点保存在图片中,可以利用Image->Overlay->Flatten创建原始数据的一个副本,最后保存后的副本图片会存有标注点。

阀值分割法

阀值分割法适用于数目较多的情况,全自动化计数,相应的图片预处理会比较麻烦。

二值化

先打开图片,执行以下预处理操作:

  • 点击Image->Type->8-bit,将图片转为灰度图
  • 点击Image->Adjust->Threshold,调节阀值
  • 点击Apply即可得到二值化后的图片

软件会自动给一个合适的阀值,适当调节阀值不要让横截面完全断开即可,横截面粘连和细小干扰项留到后面处理。

填充分割

二值化后,部分横截面存在空隙或粘连现象,可以通过以下操作进行处理:

  • 选择 Process->Binary->Fill Holes填补截面空隙
  • 选择 Process -> Binary -> Erode 腐蚀边缘毛刺
  • 通过 Process->Binary->Watershed打断重叠部分

第二步的腐蚀操作是为了去除毛刺,降低第三步打断的难度,大约腐蚀两次左右即可。

自动计数

先随便选取一个截面大概测试一下面积,具体测量方法参考上一篇教程。这一步很重要,可以根据这个面积值过滤掉一些细小的干扰项

测量结果如下,面积大概在2000个像素左右:

选择Analyze->Analyze Particles打开窗口,设置SizeShow

  • Size:1000-Infinity——指分析颗粒面积大于300(单位是pixel),一直到无穷大的颗粒(正常截面的面积在2000左右,最小值取1000很合理了)。
  • Circularity:0.00-1.00——指圆度,1.00为标准圆,一般不需要设置。
  • Show:Overlay Masks——在原图显示结果并标记,可以试试其它几种输出效果。
  • 勾选Add to Manager——方便后面把ROI显示到原图。

点击OK弹出计数结果,总计100根钢筋:

显示结果

打开原图,选择Analyze->Tools->ROI Manager

点击右下角Show All显示结果,根据需要保存图片:

总结

总的来说,多点计数适合数目小的目标计数,而阀值分割法适合数目多的目标计数。不过,如果图片质量比较差的话,使用阈值分割法会比较麻烦

参考资料

ImageJ软件使用教程(三):目标计数的更多相关文章

  1. Goland软件使用教程(二)

    Goland软件使用教程(二)一.编码辅助功能 1.      智能补全 IDE通过自动补全语句来帮助您来编写代码.快捷键“Ctrl+shift+空格”将会给你一个在当前上下文中最相关符号的列表,当您 ...

  2. ARM开发软件ADS教程

    ARM开发软件ADS教程 ADS(ARM Developer Suite)是ARM公司推出ARM集成开发环境,操作简单方便,获得广大开发人员的青睐.下面使用ADS v1.2做一个实例教程,帮助大家学会 ...

  3. WPF系列教程——(三)使用Win10 Edge浏览器内核 - 简书

    原文:WPF系列教程--(三)使用Win10 Edge浏览器内核 - 简书 在需要显示一些 H5网站的时候自带的WebBrowser总是显示不了,WebBrowser使用的是IE内核,许多H5新特性都 ...

  4. Goland软件使用教程(一)

    Goland软件使用教程(一)      Goland是由JetBrains公司旨在为go开发者提供的一个符合人体工程学的新的商业IDE.这个IDE整合了IntelliJ平台的有关go语言的编码辅助功 ...

  5. GIS基础软件及操作(三)

    原文 GIS基础软件及操作(三) 练习三.地图配准操作 1.对无坐标信息的地形图(图片格式)进行地图配准操作2.编辑器的使用(点要素.线要素.多边形要素的数字化) 本例主要介绍如何给无坐标信息的地形图 ...

  6. RMAN详细教程(三):备份脚本的组件和注释

    RMAN详细教程(一):基本命令代码 RMAN详细教程(二):备份.检查.维护.恢复 RMAN详细教程(三):备份脚本的组件和注释 RMAN详细教程(四):备份脚本实战操作 一.基本组件: 1.Ser ...

  7. 赫然:Windows Live Writer 批量博客更新软件使用教程

    http://www.wocaoseo.com/thread-144-1-1.html 推广人员需要使用多个博客,一个一个登陆更新是很麻烦的事情,网上的桌面批量更新博客软件也不少,今天在此推荐大家使用 ...

  8. 深度学习与CV教程(12) | 目标检测 (两阶段,R-CNN系列)

    作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/37 本文地址:http://www.showmeai.tech/article-det ...

  9. 深度学习与CV教程(13) | 目标检测 (SSD,YOLO系列)

    作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/37 本文地址:http://www.showmeai.tech/article-det ...

  10. maple软件安装教程

    Maple2022适用于Win7/10/11(64位)系统,亲测可用! Maple2022 WIN10 64位安装步骤:1.先使用"百度网盘"下载MPE22_CN_x64安装包到电 ...

随机推荐

  1. git commit大文件后无法删除或撤回

    可以使用版本回退的功能 先用git log 查看历史提交 用 git reset --soft 上面的编号 回退到历史提交的版本 再重新commit即可

  2. 修改Tomcat服务器Server Locations

    首先双击我们集成好的Tomcat服务器  修改Server Locations选项  Specify the server path (i.e. catalina.base) and deploy p ...

  3. 编译器与Makefile

    编译器与Makefile 目录 编译器与Makefile gcc/g++/clang clang gcc g++ 编译器过程 Makefile 什么是Makefile Makefile规则 变量 in ...

  4. ubuntu无法安装lrzsz

    ubuntu无法安装lrzsz root@ubuntu:/opt/test# apt install lrzsz Reading package lists... Done Building depe ...

  5. python高级技术(线程)

    一 线程理论 1 有了进程为什么要有线程 进程有很多优点,它提供了多道编程,让我们感觉我们每个人都拥有自己的CPU和其他资源,可以提高计算机的利用率.很多人就不理解了,既然进程这么优秀,为什么还要线程 ...

  6. 在Blazor中使用Chart.js快速创建图表

    前言 BlazorChartjs是一个在Blazor中使用Chart.js的库(支持Blazor WebAssembly和Blazor Server两种模式),它提供了简单易用的组件来帮助开发者快速集 ...

  7. 从 Linux 内核角度探秘 JDK MappedByteBuffer

    本文涉及到的内核源码版本为: 5.4 ,JVM 源码为:OpenJDK17,RocketMQ 源码版本为:5.1.1 在之前的文章<一步一图带你深入剖析 JDK NIO ByteBuffer 在 ...

  8. ViewStub你真的了解吗

    目录介绍 01.什么是ViewStub 02.ViewStub构造方法 03.inflate()方法解析 04.WeakReference使用 05.ViewStub为何无大小 06.ViewStub ...

  9. View事件机制分析

    目录介绍 01.Android中事件分发顺序 1.1 事件分发的对象是谁 1.2 事件分发的本质 1.3 事件在哪些对象间进行传递 1.4 事件分发过程涉及方法 1.5 Android中事件分发顺序 ...

  10. 大模型落地实战指南:从选择到训练,深度解析显卡选型、模型训练技、模型选择巧及AI未来展望—打造AI应用新篇章

    大模型落地实战指南:从选择到训练,深度解析显卡选型.模型训练技.模型选择巧及AI未来展望---打造AI应用新篇章 0.前言大模型发展史 早期阶段(1950s~1980s) 在1950年代初期,人们开始 ...