这篇文章将为大家详细讲解有关OpenCV如何实现腐蚀和膨胀,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、微信小程序定制开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了建安免费建站欢迎大家使用!
腐蚀和膨胀在图像处理中使用的也比较好,我们可以把腐蚀改叫为最小值滤波,把膨胀改叫为最大值滤波.
还是接我们原来的DEMO
在Clistitem类里加上腐蚀和膨胀两项
然后在加载的list里增加这两个项目
然后我们在ImgDealUtil类里面加上腐蚀和膨胀的方法
//腐蚀和膨胀
public static void erodOrDilate(String command, Bitmap bmp) {
boolean erode = command.equals(Clistitem.IMAGE_ERODECOMMAND);
Mat src = new Mat();
Mat dst = new Mat();
Utils.bitmapToMat(bmp, src);
//结构元素,获取结构元素
//Imgproc.MORPH_RECT设置我们的参数为矩型
//new Size默认为3*3的效果
//最后的Point-1,-1还是取的中心点
Mat strElement = Imgproc.getStructuringElement(Imgproc.MORPH_RECT, new Size(3, 3), new Point(-1, -1));
if (erode) {
Imgproc.erode(src, dst, strElement, new Point(-1, -1), 1);
} else {
Imgproc.dilate(src, dst, strElement, new Point(-1, -1), 1);
}
Utils.matToBitmap(dst, bmp);
src.release();
dst.release();
strElement.release();
}
最后我们在Mainactivity的按钮事件里面加上对这两个方法的调用
然后我们运行程序看看效果
原图
腐蚀-最小值滤化效果
关于“OpenCV如何实现腐蚀和膨胀”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。