数图片中的物体数目(python的轮廓检测)

 时间:2026-02-12 13:24:19

1、把图片转化为灰度图:

g = cv2.cvtColor(im,cv2.COLOR_BGR2GRAY)

数图片中的物体数目(python的轮廓检测)

2、把图片转化为二值图,要求所有的物体都是黑色:

ret,th = cv2.threshold(imgray,236,255,0)

数图片中的物体数目(python的轮廓检测)

3、检测二值图片的物体轮廓:

img, cts, hi = cv2.findContours(th,cv2.RETR_TREE,

cv2.CHAIN_APPROX_SIMPLE)

数图片中的物体数目(python的轮廓检测)

4、注意,图中所有的物体没有空腔,所以,轮廓数-1就是物体的数目。

print(len(cts)-1)

轮廓数为什么要减1呢?因为整个图也有一个轮廓。

数图片中的物体数目(python的轮廓检测)

5、在原图中画出所有的轮廓。

for i in range(0,len(cts)): 

  x, y, w, h = cv2.boundingRect(cts[i])  

  cv2.rectangle(im, (x,y), (x+w,y+h), (0,0,100), 1)

数图片中的物体数目(python的轮廓检测)

6、如果图中出现了有空腔的物体,如下图。

数图片中的物体数目(python的轮廓检测)

7、那么,识别出来的物体就莫名其妙的多了。

数图片中的物体数目(python的轮廓检测)

8、轮廓图如下图所示。

数图片中的物体数目(python的轮廓检测)

  • 如何用visio绘制【避车道】标志?
  • 西南大学考研率为什么低
  • 奥比岛怎么通过见习小医生赚取金币?
  • 三国志12威力加强版攻略
  • PPT以副本方式打开的设置
  • 热门搜索
    馅饼的做法 韭菜饺子馅做法大全 东乡土豆片的做法 电脑锁屏时间怎么设置 土豆粉的做法 鱼子的做法 没关系用英语怎么说 鲫鱼汤的做法 血糖高怎么办 干锅有机花菜的做法