如何用ImageJ从照片中提取彩色颗粒并统计粉色砂粒占比?
ImageJ统计粉色砂粒数量及占比的实操步骤
一、图片预处理(先把颗粒边界弄清楚)
- 打开ImageJ,直接拖入你的砂粒照片,或者通过顶部菜单
File > Open导入 - 如果图片有细碎杂色干扰,先做降噪:点
Process > Noise > Despeckle,重复1-2次就行,别过度操作把颗粒边缘弄糊了
二、分离粉色专属通道
- 点
Image > Color > Split Channels,把彩色图拆成红、绿、蓝三个单通道窗口 - 粉色在红色通道里亮度最高,普通砂粒在红色通道里偏暗,所以留下红色通道窗口,关掉另外两个
三、阈值分割(把粉色颗粒变成可统计的选区)
- 点
Image > Adjust > Threshold,弹出阈值调节面板 - 拖动滑块,直到所有粉色砂粒变成白色,普通砂粒和背景全是黑色(勾选面板里的
Preview可以实时看效果,方便调整) - 调好后点
Apply,图片会变成黑白二值图
四、修正分割误差(避免统计不准)
- 如果背景有小杂点被误当成颗粒:点
Process > Binary > Erode,再点Dilate,就能去掉小杂点;也可以用工具栏的Freehand Selection框选杂点,按Delete删掉 - 如果有粉色颗粒粘在一起被当成一个:点
Process > Binary > Watershed,能自动分开粘连的颗粒;或者后续统计时手动调整
五、统计颗粒数量
先算总颗粒数:
- 切回原始彩色图,点
Image > Adjust > Threshold,这次调整阈值让所有砂粒(不管颜色)都变成白色,背景黑色,点Apply得到总颗粒二值图 - 点
Analyze > Set Measurements,只勾选Area和Count,其他选项取消,点OK - 点
Analyze > Analyze Particles,设置Size(根据你的砂粒大小填,比如0.5-Infinity,单位是像素),Circularity设0.2-1.0(砂粒不是完美圆),勾选Display Results,点OK,结果里的Count就是总颗粒数
再算粉色颗粒数:
- 切回之前做好的粉色颗粒二值图,重复上面的
Set Measurements和Analyze Particles操作,得到粉色颗粒的Count
六、计算占比
- 用粉色颗粒数除以总颗粒数,再乘以100%,就是粉色砂粒的占比
内容的提问来源于stack exchange,提问作者lily
相关产品推荐
相关产品推荐

