import cv2
import numpy as np
img=cv2.pyrDown(cv2.imread('image\\gradientbig.bmp',
cv2.IMREAD_UNCHANGED))
img1=img.copy()
ret,thresh=cv2.threshold(cv2.cvtColor(img.copy(),cv2.COLOR_BGR2GRAY),
127,255,cv2.THRESH_BINARY)
#阈值分割为二值图像
image,contours,hier=cv2.findContours(thresh,cv2.RETR_EXTERNAL,
cv2.CHAIN_APPROX_SIMPLE)
#找矩形轮廓
for c in contours:
x,y,w,h=cv2.boundingRect(c) #求矩形轮廓的参数
cv2.rectangle(img,(x,y),(x+w,y+h),(0,255,0),1) #画绿色矩形边界框
rect=cv2.minAreaRect(c) #最小矩形区域
box=cv2.boxPoints(rect) #计算矩形顶点,浮点型
box=np.int0(box) #转换为整型
cv2.drawContours(img,[box],0,(0,255,0),2) #画绿色最小矩形边界框
(x,y),radius=cv2.minEnclosingCir
opencv3-第3章-目标边界框,最小边界框,最小闭圆
最新推荐文章于 2024-01-22 11:34:41 发布