You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python在图像中查找元素 无需AI识别正方形并获取坐标数组

无AI方案实现图像正方形坐标检测

完全可以通过传统计算机视觉方法实现该需求,无需引入任何AI、深度学习相关技术,针对你提供的下图这类背景干净、边缘清晰的场景,检测准确率可以接近100%:
待检测示例图像

具体实现步骤如下:

  • 图像预处理
    先将原图转为灰度图,再通过阈值二值化将深色正方形和白色背景分离,之后通过形态学开运算消除零散噪点,避免后续检测出现误判。如果用Python+OpenCV实现,核心调用函数为cv2.cvtColor()、cv2.threshold()、cv2.morphologyEx()。
  • 轮廓提取
    用Canny算子检测图像边缘,再通过cv2.findContours()提取所有连通的边缘轮廓。
  • 正方形筛选
    对每个提取到的轮廓依次做如下校验,全部符合即可判定为正方形:
    1. 用cv2.approxPolyDP()对轮廓做多边形拟合,拟合参数设置为轮廓周长的2%左右,若拟合后多边形顶点数为4,则判定为四边形
    2. 用cv2.contourArea()计算轮廓面积,过滤面积远小于正常正方形的噪点轮廓
    3. 计算四边形四条边的长度、相邻边的夹角,若最长边与最短边的差值小于预设阈值、四个夹角均接近90度,即可判定为正方形
  • 坐标输出
    对判定为正方形的轮廓,可直接提取拟合得到的四个顶点坐标,也可以用cv2.boundingRect()获取外接矩形的左上角坐标、宽高参数,整理后存入数组即可。

提示:如果应用场景存在正方形倾斜、部分遮挡、背景复杂的情况,仅需要调整二值化阈值、轮廓拟合误差参数即可适配,无需引入AI模型

内容的提问来源于stack exchange,提问作者Николай Нарушев

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 03:27:03