【20160924】GOCVHelper 图像增强部分(2)

简介:    //填充孔洞     //fillholes     Mat fillHoles(Mat src){         Mat dst = getInnerHoles(src);         threshold(dst,dst,0,255,THRESH_BINARY_INV); ...
   //填充孔洞
    //fillholes
    Mat fillHoles(Mat src){
        Mat dst = getInnerHoles(src);
        threshold(dst,dst,0,255,THRESH_BINARY_INV);
        dst = src + dst;
        return dst;
    }
    //获得图像中白色的比率
    float getWhiteRate(Mat src){
        int iWhiteSum = 0;
        for (int x =0;x<src.rows;x++){
            for (int y=0;y<src.cols;y++){
                if (src.at<uchar>(x,y) != 0)
                    iWhiteSum = iWhiteSum +1;
            }
        }
        return (float)iWhiteSum/(float)(src.rows*src.cols);
    }
    //获得内部孔洞图像
    Mat getInnerHoles(Mat src){ 
        Mat clone = src.clone();
        srand((unsigned)time(NULL));  // 生成时间种子
        float fPreRate = getWhiteRate(clone);
        float fAftRate = 0;
        do {
            clone = src.clone();
            // x y 对于 cols rows
            floodFill(clone,Point((int)rand()%src.cols,(int)rand()%src.rows),Scalar(255));
            fAftRate = getWhiteRate(clone);
        } while ( fAftRate < 0.6);
        return clone;
    }

   // end of fillHoles

    填充孔洞算法是我参考相关资料自己实现的。填充孔洞的关键在于获得“内部孔洞图像”。我采用的方法是在图像上随机寻找一个点作为floodfill的初始点,然后以scalar(255)来进行填充。重复这个过程,直到整个图片的白色值占到了全部图像的60%.
填充前
填充后





目前方向:图像拼接融合、图像识别 联系方式:jsxyhelu@foxmail.com
目录
相关文章
|
6月前
halcon的灰度变换(图像增强)
halcon的灰度变换(图像增强)
386 1
|
6月前
|
算法 计算机视觉
[Halcon&图像] 图像滤波算法原理
[Halcon&图像] 图像滤波算法原理
229 1
|
6月前
|
算法
[Halcon&图像] 边缘提取算法汇总
[Halcon&图像] 边缘提取算法汇总
378 0
|
6月前
|
算法
[Halcon&图像] 图像阈值分割算法汇总
[Halcon&图像] 图像阈值分割算法汇总
187 0
|
机器学习/深度学习 传感器 算法
【图像融合】基于小波变换DWT的高分辨率全色图图像融合(含评价指标)附Matlab代码
【图像融合】基于小波变换DWT的高分辨率全色图图像融合(含评价指标)附Matlab代码
|
数据可视化 算法 计算机视觉
【计算机视觉】图像增强----图像的傅立叶变换
【计算机视觉】图像增强----图像的傅立叶变换
644 0
【计算机视觉】图像增强----图像的傅立叶变换
|
机器学习/深度学习 人工智能 算法
【图像配准】基于SURF特征实现印刷体汉字配准附matlab代码
【图像配准】基于SURF特征实现印刷体汉字配准附matlab代码
|
计算机视觉
OpenCV小项目:图像融合(泊松融合—Possion Blending)
OpenCV小项目:图像融合(泊松融合—Possion Blending)
829 0
OpenCV小项目:图像融合(泊松融合—Possion Blending)
Halcon图像增强算子(直方图均衡化等)
Halcon图像增强算子(直方图均衡化等)
1509 0
|
计算机视觉 算法
基于opencv模板匹配的目标识别方法
因为pcl的点云模板匹配遇到了各种困难,暂时先用opencv的模板匹配函数做一个简单的焊缝识别,看看效果。此方法的缺陷就在于物体和相机位置必须固定,只允许微小位移,否则数据将失效。
4478 0