OpenCV 图像形态学 - android
腐蚀
Mat src;
bitmap2mat(env,src,bitmap);
Mat dest;
Mat kernel = getStructuringElement(MORPH_RECT,Size(5,5));
erode(src,dest,kernel);
mat2bitmap(env,dest,bitmap);
膨胀
Mat src;
bitmap2mat(env,src,bitmap);
Mat dest;
Mat kernel = getStructuringElement(MORPH_RECT,Size(15,15));
// 可以去除干扰 黑色中的白色
morphologyEx(src,dest,MORPH_OPEN,kernel);
mat2bitmap(env,dest,bitmap);
MORPH_OPEN
Mat src;
bitmap2mat(env,src,bitmap);
Mat dest;
Mat kernel = getStructuringElement(MORPH_RECT,Size(15,15));
// 可以去除干扰 黑色中的白色 先腐蚀后膨胀
morphologyEx(src,dest,MORPH_OPEN,kernel);
mat2bitmap(env,dest,bitmap);
MORPH_CLOSE
Mat src;
bitmap2mat(env,src,bitmap);
Mat dest;
Mat kernel = getStructuringElement(MORPH_RECT,Size(35,35));
// 可以去除干扰 白色中的黑色 先膨胀后腐蚀
morphologyEx(src,dest,MORPH_CLOSE,kernel);
mat2bitmap(env,dest,bitmap);
MORPH_GRADIENT
Mat src;
bitmap2mat(env,src,bitmap);
Mat dest;
Mat kernel = getStructuringElement(MORPH_RECT,Size(15,15));
// 获取轮廓 膨胀 减去 腐蚀
morphologyEx(src,dest,MORPH_GRADIENT,kernel);
mat2bitmap(env,dest,bitmap);
MORPH_TOPHAT
Mat src;
bitmap2mat(env,src,bitmap);
Mat dest;
Mat kernel = getStructuringElement(MORPH_RECT,Size(15,15));
// 原图 减去 OPEN
morphologyEx(src,dest,MORPH_TOPHAT,kernel);
mat2bitmap(env,dest,bitmap);
MORPH_BLACKHAT
Mat src;
bitmap2mat(env,src,bitmap);
Mat dest;
Mat kernel = getStructuringElement(MORPH_RECT,Size(15,15));
// 获取轮廓 膨胀 减去 CLOSE
morphologyEx(src,dest,MORPH_BLACKHAT,kernel);
mat2bitmap(env,dest,bitmap);
|