<p>我认为你可以使用以下方法。我试过了,它起作用了</p>
<pre><code>import cv2, random
image = cv2.imread("x.jpg")
ss = cv2.ximgproc.segmentation.createSelectiveSearchSegmentation()
ss.setBaseImage(image)
ss.switchToSelectiveSearchQuality()
rects = ss.process()
for i in range(0, len(rects), 100):
# clone the original image so we can draw on it
output = image.copy()
# loop over the current subset of region proposals
for (x, y, w, h) in rects[i:i + 100]:
# draw the region proposal bounding box on the image
color = [random.randint(0, 255) for j in range(0, 3)]
cv2.rectangle(output, (x, y), (x + w, y + h), color, 2)
cv2.imshow("Output", output)
key = cv2.waitKey(0) & 0xFF
# if the `q` key was pressed, break from the loop
if key == ord("q"):
break
</code></pre>
<p>为什么是100?我选择了大小为100的块</p>
<p>原始图像:</p>
<p><a href="https://i.stack.imgur.com/vC97g.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/vC97g.jpg" alt="enter image description here"/></a></p>
<p>处理后:
<a href="https://i.stack.imgur.com/VU8Qg.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/VU8Qg.png" alt="enter image description here"/></a></p>