2012-09-15 1 views
7

Согласно моим исследованиям, дилатация и эрозия могут быть использованы для устранения зазора для изображения после бинаризации изображения.Расширение и эрозия в Android

Я не уверен, что необходимо использовать cvSmooth или нет.

+0

Я не знаю, что-то об OpenCV на Android, но я знаю, что сглаживание не имеет ничего общего с морфологическими операциями, такими как расширение и эрозия. Вероятно, вы сначала получите бинарное изображение, используя cvTresh (или эквивалент на Android). – CTZStef

+0

CTZStef, могу ли я узнать, как использовать cvTresh для получения двоичного изображения? До этого я использую свой собственный метод для получения двоичного изображения, и эффект не очень хорош. –

+0

Я думаю, вы найдете все, что вам нужно (например, документацию) здесь: http://code.opencv.org/projects/opencv/wiki/OpenCV4Android – CTZStef

ответ

14

Android имеет в основном те же функции, имеет документированную C++/Python, так что все, что вам нужно сделать, это найти какой класс они принадлежат, в этом случае, Imgproc:

Imgproc.erode(mInput, mInput, Imgproc.getStructuringElement(Imgproc.MORPH_RECT, new Size(2,2)));   

Imgproc.dilate(mInput, mInput, Imgproc.getStructuringElement(Imgproc.MORPH_RECT, new Size(2, 2))); 
4

У вас есть erosion и dilation в OpenCV. То, что вы ищете, чтобы «преодолеть разрыв», вероятно, является тем, что называется замыканием, то есть расширением, сопровождаемым эрозией. Это можно сделать, используя один вызов до morphologyEx function. Это может быть «открытие», в зависимости от того, хотите ли вы подорвать белые или черные части.

+0

remi, я думаю, что вы правы, я хочу использовать дилатацию, за которой следует эрозия. Поскольку я новичок в android, вы можете привести пример того, как его кодировать для Android? Спасибо. –

+0

remi, и можете ли вы сказать мне, как управлять wan erode белыми или блочными частями? Спасибо в продвинутом режиме. –

+0

эрозировать черный = расширять белый. Вы должны сделать простой тест, вы не можете это изменить, я не помню, что было решено в реализации OpenCV. Что касается образцов Android, я использую только привязки C++/python, но это должно быть просто, не так ли? – remi