写一个可以计算图像中不规则图形的长度、宽度、面积的python代码
时间: 2023-11-27 21:50:28 浏览: 647
以下是一个简单的Python代码示例,可以计算二值化图像中不规则图形的长度、宽度和面积。该代码使用OpenCV库进行图像处理。
```python
import cv2
# 读取图像
img = cv2.imread('image.png', 0)
# 二值化图像
ret, thresh = cv2.threshold(img, 127, 255, 0)
# 计算轮廓
contours, hierarchy = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
# 找到最大轮廓
max_contour = max(contours, key=cv2.contourArea)
# 计算长度和宽度
(x, y), (width, height), angle = cv2.minAreaRect(max_contour)
if width < height:
width, height = height, width
angle += 90
# 计算面积
area = cv2.contourArea(max_contour)
# 输出结果
print('长度:', width)
print('宽度:', height)
print('面积:', area)
```
请注意,这个代码仅适用于二值化图像。如果您的图像不是二值化的,请先使用适当的图像处理技术将其转换为二值化图像。
阅读全文