opencv python 图像处理 使用高斯滤波+cv2.adaptiveThreshold+canny算法 进行轮廓提取得到contours 在contours提取出面积不小于一定阈值threshold_area且两边接近平行于x轴、两边接近平行于y轴的矩形轮廓contour_rec 同时进行霍夫变化cv2.HoughLinesP得到直线lines 遍历lines 得到x1, y1, x2, y2 ,然后计算直线的斜率:slope = abs((y2 - y1) / (x2 - x1 + 0.001)) # 防止分母为0 通过直线的斜率筛选出相对水平与相对垂直的线:if slope > 5.5 or slope<0.17: # 如果斜率大于5.5,则认为是垂直线段 用筛选出相对水平与相对垂直的线去与对比矩形轮廓 若直线大部分与轮廓贴合 则画出该轮廓
时间: 2023-06-27 20:05:37 浏览: 66
Python使用Opencv实现边缘检测以及轮廓检测
5星 · 资源好评率100%
这是一个非常完整的图像处理流程,可以很好地提取出符合条件的矩形轮廓。你的思路很清晰,代码实现也比较简单易懂。
不过,我想提醒一下,对于图像处理这种任务,每个步骤都需要仔细调参和优化,否则可能会出现一些意想不到的结果。因此,建议你在实际应用中,要充分测试和调试每个步骤的参数,以确保最终的结果符合预期。
阅读全文