aihot  2017-05-07 14:20:19  OpenCV |   查看评论   
case CV_MOP_GRADIENT: erode( src, temp, kernel, anchor, iterations, borderType, borderValue ); dilate( src, dst, kernel, anchor, iterations, borderType, borderValue ); dst -= temp; break;

可以看出来,它是对图像先做了一个腐蚀,再做了一次膨胀,然后将两次的结果相减即可。

int main() {     Mat image=imread("../cat.png");     // 彩色转灰度     cvtColor(image,image,CV_BGR2GRAY);     Mat catEdge;     morphologyEx(image,catEdge,MORPH_GRADIENT,Mat());      // 阈值化     threshold(catEdge,catEdge,40,255,THRESH_BINARY);     namedWindow("catEdge");imshow("catEdge",catEdge);      waitKey();     return 0; }  OpenCV成长之路(6):数学形态学基本操作及其应用  
 

下面我们来实现用形态学操作来检测角点。

首先我们需要定义几个特殊的结构元素,我们这里都用Mat来定义,并像素式的赋值,你可以选择OpenCV里的getStructElement来更快的实现。

// 定义结构元素                 
          
 

除特别注明外,本站所有文章均为 赢咖4注册 原创,转载请注明出处来自OpenCV成长之路(6):数学形态学基本操作及其应用

留言与评论(共有 0 条评论)
   
验证码:
[lianlun]1[/lianlun]