python图像提取_python – 使用Scikit-image从图像中提取属性

本文介绍了如何使用Python的Scikit-image库从图像中进行SLIC超像素分割,并提取每个区域的边界坐标。通过示例代码展示了如何调整参数以适应不同图像需求,同时也指出了图像分割的挑战及其依赖于图像对比度和对象形状的特点。建议在某些情况下,直接在原始图像上获取所需区域可能更为有效。
摘要由CSDN通过智能技术生成

这是我第一次尝试这个套餐..

我尝试使用更简单的图像,我或多或少得到了正确的结果:

87d1ce00edf6daa276de50fa86285af5.png

from skimage import io, segmentation as seg

import matplotlib as plt

import numpy as np

color_image = io.imread('smallimg.jpg')

labels = seg.slic(color_image, n_segments=4, compactness=4)

for section in np.unique(labels):

rows, cols = np.where(labels == section)

print("Image="+str(section))

print("Top-Left pixel = {},{}".format(min(rows), min(cols)))

print("Bottom-Right pixel = {},{}".format(max(rows), max(cols)))

print("---")

输出:

Image=0

Top-Left pixel = 3,1

Bottom-Right pixel = 15,18

---

Image=1

Top-Left pixel = 26,1

Bottom-Right pixel = 34,18

---

Image=2

Top-Left pixel = 43,1

Bottom-Right pixel = 52,16

---

Image=3

Top-Left pixel = 0,0

Bottom-Right pixel = 59,19

---

请注意,由于渐变,最右边的像素并不是我的意思.最后一段是白色背景.

我试过你的图像,但我认为你必须正确分割.如果你想获得6张图片背景,我会使用n_segments = 7.

我还在文档中看到了紧凑性:“这个参数很大程度上取决于图像对比度和图像中对象的形状.”所以你想要的东西可能很难实现.

如果您正在上面显示的图像上绘制六张图片,为什么不在绘制图片时获得这些坐标而不是将分割应用于最终结果?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值