编一个确定划痕大小的最小外接矩阵程序python
时间: 2024-05-07 10:16:35 浏览: 66
好的,以下是一个确定划痕大小的最小外接矩形的 Python 程序:
```python
import cv2
import numpy as np
# 读取图片并将其灰度化
img = cv2.imread('image.jpg')
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
# 对灰度图进行二值化处理
ret,thresh = cv2.threshold(gray,100,255,cv2.THRESH_BINARY)
# 查找轮廓
contours,hierarchy = cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
# 遍历每个轮廓
for cnt in contours:
# 最小外接矩形
rect = cv2.minAreaRect(cnt)
box = np.int0(cv2.boxPoints(rect))
# 计算矩形周长与面积
perimeter = cv2.arcLength(cnt,True)
area = cv2.contourArea(cnt)
# 如果周长小于100并且面积小于100,则判断为划痕
if perimeter < 100 and area < 100:
cv2.drawContours(img,[box],0,(0,0,255),2)
# 显示处理后的图片
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
希望能对您有所帮助。如果您还有其它问题,欢迎和我继续交流。
阅读全文