常州机器视觉培训

常州上位机软件开发

常州工业机器人编程设计培训

常州PLC培训

常州PLC

常州PLC编程培训

常州电工培训

常州和讯plc培训中心欢迎您!
热门课程
联系方式
  • 常州和讯自动化培训中心
  • 常州市新北区府琛商务广场2号楼1409室
  • 电话:0519-85602926
  • 手机:15861139266 13401342299
当前位置:网站首页 > 新闻中心 新闻中心
Opencv实现三种主流阈值分割进行缺陷检测(下)-常州机器视觉学习,常州上位机学习
日期:2024-3-21 16:59:51人气:  标签:常州机器视觉学习 常州上位机学习

网格缺陷检测

进入正题,本篇对网格缺陷检测的思路很简单:

  1. 动态阈值处理

  2. 面积筛选显示缺陷

opencv实现:

    Mat src = imread("D:/opencv练习图片/网格缺陷检测1.png");
    imshow("原图", src);
    cvtColor(src, gray, COLOR_RGB2GRAY);
    GaussianBlur(gray, gray, Size(3, 3), 1, 0);    //双阈值方法
    threshold(gray, binary1, 25, 255, THRESH_BINARY);
    threshold(gray, binary2, 80, 255, THRESH_BINARY_INV);
    bitwise_and(binary1, binary2, binary);
    imshow("双阈值二值化", binary);
    vector<vector<Point>>contours;
    findContours(binary, contours, RETR_EXTERNAL, CHAIN_APPROX_NONE, Point());    for (int i = 0; i < contours.size(); i++)
    {        float area = contourArea(contours[i]);        if (area>350)
        {
            drawContours(src, contours, i, Scalar(0, 0, 255), 2, 8);            int baseline = 0;
            Size textSize = getTextSize("Mesh Not OK", FONT_HERSHEY_SIMPLEX, 1.0, 2, &baseline);        
            rectangle(src, Rect(10, 10, textSize.width, textSize.height + baseline), Scalar(212, 233, 252), -1, 8);
            putText(src, "Mesh Not OK", Point(10, 5 + textSize.height + baseline), FONT_HERSHEY_SIMPLEX, 1, Scalar(0, 0, 255), 2, 8);
        }        else
        {            int baseline = 0;
            Size textSize = getTextSize("Mesh OK", FONT_HERSHEY_SIMPLEX, 1.0, 2, &baseline);
            rectangle(src, Rect(10, 10, textSize.width, textSize.height + baseline), Scalar(212, 233, 252), -1, 8);
            putText(src, "Mesh OK", Point(10, 5 + textSize.height + baseline), FONT_HERSHEY_SIMPLEX, 1, Scalar(0, 0, 255), 2, 8);
        }
    }
    imshow("缺陷", src);

这里采用的是双阈值处理。我们可以对比三种阈值处理的情况:

(1)全局阈值OTSU方法:

 可以看到有部分正常孔洞和网格相连,会导致正常孔洞也被标记为缺陷。

(2)自适应阈值:

 可以看到效果还不错。

(3)双阈值:

 对比自适应阈值,可以看到分割的还是比较明显一点的。

本文网址:
下一篇:没有资料

相关信息:
版权所有 CopyRight 2006-2017 江苏和讯自动化设备有限公司 常州自动化培训中心 电话:0519-85602926 地址:常州市新北区府琛商务广场2号楼1409室
苏ICP备14016686号-2 技术支持:常州山水网络
本站关键词:常州PLC培训 常州PLC编程培训 常州PLC编程 常州PLC培训班 网站地图 网站标签
在线与我们取得联系