OpenCV 图像形态学 - android

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);

OpenCV 图像形态学 - android_第1张图片

膨胀

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);

OpenCV 图像形态学 - android_第2张图片

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);

OpenCV 图像形态学 - android_第3张图片

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);

OpenCV 图像形态学 - android_第4张图片

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);

OpenCV 图像形态学 - android_第5张图片

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);

OpenCV 图像形态学 - android_第6张图片

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);

OpenCV 图像形态学 - android_第7张图片

你可能感兴趣的:(Android,android,jni,opencv)