opencv python库识别矩形并且计算矩形的面积将矩形用框框住
要使用OpenCV库来识别矩形并计算面积,可以按照以下步骤进行操作:
- 导入OpenCV库:
import cv2
- 读取图像并将其转换为灰度图像:
image = cv2.imread('image.jpg')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
- 使用Canny边缘检测算法检测图像中的边缘:
edges = cv2.Canny(gray, 50, 150)
- 使用轮廓检测函数
cv2.findContours()找到图像中的轮廓:
contours, hierarchy = cv2.findContours(edges, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
- 遍历轮廓并筛选出矩形:
rectangles = []
for contour in contours:
peri = cv2.arcLength(contour, True)
approx = cv2.approxPolyDP(contour, 0.02 * peri, True)
if len(approx) == 4:
rectangles.append(approx)
- 计算矩形的面积并用框框住:
for rectangle in rectangles:
cv2.drawContours(image, [rectangle], -1, (0, 255, 0), 2)
area = cv2.contourArea(rectangle)
cv2.putText(image, f"Area: {area}", (rectangle[0][0][0], rectangle[0][0][1] - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.9, (0, 255, 0), 2)
- 显示结果图像:
cv2.imshow("Rectangles", image)
cv2.waitKey(0)
cv2.destroyAllWindows()
这样就可以使用OpenCV库来识别矩形并计算面积,将矩形用框框住。请注意,这里假设图像中只有矩形,并且矩形是水平或垂直的。如果图像中还有其他形状或倾斜的矩形,需要进行更复杂的处理。
原文地址: http://www.cveoy.top/t/topic/hZHO 著作权归作者所有。请勿转载和采集!