2024年最全使用Julia进行图像处理--图像分割(1)

使用map函数将每个像素的块号替换为块的平均颜色值:

imshow(map(i->segment_mean(segments,i), labels_map(segments)))

这将导致图像包含两种颜色,绿色代表草,另一种代表猫。由于图像相对简单并且可以轻松分离猫,因此结果的质量很高:

segments

尽管该方法涉及手动工作,但在为神经网络执行的图像分割任务准备训练数据集时,它可能很方便。

识别复杂对象

尝试分离或分割无法轻易与背景分离或由多个部分组成的对象。尝试使用一张鸟的图像:

bird_image

运行上一节中的代码,看看它是否需要任何改进:

using Images, ImageView, ImageSegmentation

img = load(“bird-3183441_640.jpg”);

seeds = [

(CartesianIndex(220,250), 1), # apprx. object location

(CartesianIndex(220,500), 2) # background location

]

segments = seeded_region_growing(img, seeds)

imshow(map(i->segment_mean(segments,i), labels_map(segments)))

从下面的图像中,可以看出它的最终效果与猫的图像不同。分割过程无法完全分离对象:

segments

复杂之处在于,鸟由多种颜色组成,其中有些与背景相似。尝试定义更多的分割,看看是否可以改善结果。与上一节相同,将鼠标悬停在图像的不同区域上并记下坐标:

img = load(“bird-3183441_640.jpg”);

seeds = [

(CartesianIndex(240,120), 1),

(CartesianIndex(295,70), 2),

(CartesianIndex(319,40), 3),

(CartesianIndex(90,30

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值