opencv python库识别矩形并且计算矩形的面积
要使用OpenCV库来识别矩形并计算其面积,可以按照以下步骤进行操作:
- 导入所需的库:
import cv2
import numpy as np
- 读取图像并将其转换为灰度图像:
image = cv2.imread('image.jpg')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
- 进行边缘检测:
edges = cv2.Canny(gray, 50, 150)
- 查找并筛选矩形轮廓:
contours, _ = cv2.findContours(edges, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
rectangles = []
for contour in contours:
perimeter = cv2.arcLength(contour, True)
approx = cv2.approxPolyDP(contour, 0.02 * perimeter, True)
if len(approx) == 4:
rectangles.append(approx)
- 计算矩形的面积:
for rectangle in rectangles:
area = cv2.contourArea(rectangle)
print("矩形面积:", area)
完整的代码如下所示:
import cv2
import numpy as np
image = cv2.imread('image.jpg')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
edges = cv2.Canny(gray, 50, 150)
contours, _ = cv2.findContours(edges, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
rectangles = []
for contour in contours:
perimeter = cv2.arcLength(contour, True)
approx = cv2.approxPolyDP(contour, 0.02 * perimeter, True)
if len(approx) == 4:
rectangles.append(approx)
for rectangle in rectangles:
area = cv2.contourArea(rectangle)
print("矩形面积:", area)
请确保将代码中的'image.jpg'替换为您要处理的图像的路径。
原文地址: http://www.cveoy.top/t/topic/hZFw 著作权归作者所有。请勿转载和采集!