安装selective search
$ pip install selectivesearch读取并显示图片
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
import selectivesearch
from skimage import io
# img = io.imread('/home/lxq/testImage/00000.ppm')
# io.imshow(img)
# plt.show()
def main():
# loading image
img = io.imread('/home/lxq/testImage/00000.ppm')
# perform selective search
img_lbl, regions = selectivesearch.selective_search(
img, scale=500, sigma=0.9, min_size=10)
candidates = set()
for r in regions:
# excluding same rectangle (with different segments)
if r['rect'] in candidates:
continue
# excluding regions smaller than 2000 pixels
if r['size'] < 2000:
continue
# distorted rects
x, y, w, h = r['rect']
if w / h > 1.2 or h / w > 1.2:
continue
candidates.add(r['rect'])
# draw rectangles on the original image
fig, ax = plt.subplots(ncols=1, nrows=1, figsize=(6, 6))
ax.imshow(img)
for x, y, w, h in candidates:
print x, y, w, h
rect = mpatches.Rectangle(
(x, y), w, h, fill=False, edgecolor='red', linewidth=1)
ax.add_patch(rect)
plt.show()
if __name__ == "__main__":
main()输出结果

本文介绍如何使用SelectiveSearch库进行图像分割,并提供了一个具体的Python实现案例。通过加载图像、执行SelectiveSearch算法来生成候选区域,最后在原始图像上绘制这些候选区域。
2万+

被折叠的 条评论
为什么被折叠?



