這篇文章將為大家詳細(xì)講解有關(guān)OpenCV如何實(shí)現(xiàn)腐蝕和膨脹,小編覺得挺實(shí)用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序定制開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了建安免費(fèi)建站歡迎大家使用!
腐蝕和膨脹在圖像處理中使用的也比較好,我們可以把腐蝕改叫為最小值濾波,把膨脹改叫為最大值濾波.
還是接我們原來的DEMO
在Clistitem類里加上腐蝕和膨脹兩項(xiàng)
然后在加載的list里增加這兩個項(xiàng)目
然后我們在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);
//結(jié)構(gòu)元素,獲取結(jié)構(gòu)元素
//Imgproc.MORPH_RECT設(shè)置我們的參數(shù)為矩型
//new Size默認(rèn)為3*3的效果
//最后的Point-1,-1還是取的中心點(diǎn)
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的按鈕事件里面加上對這兩個方法的調(diào)用
然后我們運(yùn)行程序看看效果
原圖
腐蝕-最小值濾化效果
關(guān)于“OpenCV如何實(shí)現(xiàn)腐蝕和膨脹”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。