Bild-Rand glätten mit opencv
Ich versuche zu glatten Ausgang Bild Kanten mittels opencv framework, ich versuche die folgenden Schritte aus. Schritte nahm von hier aus https://stackoverflow.com/a/17175381/790842
int lowThreshold = 10.0;
int ratio = 3;
int kernel_size = 3;
Mat src_gray,detected_edges,dst,blurred;
///Convert the image to grayscale
cvtColor( result, src_gray, CV_BGR2GRAY );
///Reduce noise with a kernel 3x3
cv::blur( src_gray, detected_edges, cv::Size(5,5) );
///Canny detector
cv::Canny( detected_edges, detected_edges, lowThreshold, lowThreshold*ratio, kernel_size );
//Works fine upto here I am getting perfect edge mask
cv::dilate(detected_edges, blurred, result);
//I get Assertion failed (src.channels() == 1 && func != 0) in countNonZero ERROR while doing dilate
result.copyTo(blurred, blurred);
cv::blur(blurred, blurred, cv::Size(3.0,3.0));
blurred.copyTo(result, detected_edges);
UIImage *image = [UIImageCVMatConverter UIImageFromCVMat:result];
Ich will helfen, egal, ob ich dabei bin, in der rechten Weise, oder was bin ich?
Vielen Dank für jede Anregung und Hilfe.
Aktualisiert:
Habe ich ein Bild wie unten bekam von grabcut Algorithmus, jetzt will ich anwenden Rand glätten das Bild, wie Sie sehen können das Bild ist nicht glatt.
- Perfanov ich brauche Hilfe in it. Ich bin versucht, befolgen Sie die Schritte, die Sie hier angegeben stackoverflow.com/a/17175381/790842
- Können Sie mir helfen ?
- Können Sie mir helfen ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wollen Sie so etwas?
Wenn ja, dann ist hier der code:
Und ich denke, dieser link wird interestiong auch für dich: Poisson Blending
CV_8UC1
nicht sicherpixel value ranges
Habe ich befolgt die folgenden Schritte zum glätten der Kanten der Vorder-bekam ich von GrabCut.