Wie zu verwenden erode und dilate Funktion in opencv?
Ich versuche zu beseitigen, die Sache, um die Zahl mit erode und dilate Prozess. Ich habe versucht, aber nichts passiert. Ich habe die Werte nur für sehen, ob würde etwas ändern, aber wieder hat sich nichts geändert. Das Bild geht weiter wie in dem link oben. Was über diesen Parameter... ich hab die Dokumentation gelesen aber verstehe nicht ganz (wie Sie sehen können, ich war zu erraten, die in der Funktion). Was mache ich falsch?
Bild: https://docs.google.com/file/d/0BzUNc6BOkYrNeVhYUk1oQjFSQTQ/edit?usp=sharing
code:
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
int main ( int argc, char **argv )
{
Mat im_gray;
Mat img_bw;
Mat img_final;
Mat im_rgb = imread("cam.jpg");
cvtColor(im_rgb,im_gray,CV_RGB2GRAY);
adaptiveThreshold(im_gray, img_bw, 255, ADAPTIVE_THRESH_MEAN_C, THRESH_BINARY_INV, 105, 1);
dilate(img_bw, img_final, 0, Point(-1, -1), 2, 1, 1);
imwrite("cam_final.jpg", img_final);
return 0;
}
- Also, lasst uns beginnen aus der Dokumentation docs.opencv.org/modules/imgproc/doc/... gebt mir einen moment Zeit...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Laut offiziellen docs, der Dritte Parameter sollte der kernel (oder die Strukturierung element). Sie sind derzeit vorbei 0:
Versuchen Sie, schreiben Sie es auf diese Weise:
In diesem Fall, ein Standard-3x3-kernel verwendet wird.
cv::Mat
. Laut der docs, "wennelement=Mat()
eine 3 x 3 rechteckigen strukturierenden element verwendet wird."Kernel ist im Grunde eine matrix. Dies ist multipliziert oder überschnitten werden auf die input-matrix(Bild) zu erzeugen, um die gewünschte Ausgabe geändert(in diesem Fall erweiterte) matrix(Bild).
Versuchen Sie, die Parameter der
Mat()
imdilate(img_bw, img_final, Mat(), Point(-1, -1), 2, 1, 1);
Sie sind im Grunde ändern die Anzahl der Pixel (Höhe und Breite) der kernel, die Veränderung der Dilatation Wirkung auf die original pic.
So, in den Parametern der
dilate
Sie verwendenMat()
statt einer Zahl wie schon esenti.