F
Hallo,
ich habe das jetzt Problem gelöst.
Da ich die OpenCV Klasse Mat benutze, erzeuge ich mir eine Hilfsvariable und benutze die Funktionen row, line und copyTo. In dieser speicher ich in einer For-Schleife die jeweilige passende Zeile.
double a,b,c;
Mat descriptorsline;
for( unsigned int ii = 0; ii < key_points.size( ); ii++ )
{
b=0;
a=1/((key_points[ii].size/2)*(key_points[ii].size/2));
c=a;
[b]descriptors.row(ii).copyTo(descriptorsline);[/b]
outputFile << key_points[ii].pt.x << " " << key_points[ii].pt.y <<" "<< a <<" "<< b <<" "<< c <<" "<<descriptorsline<<std::endl;
}
outputFile.close( );
Das Ergebnis sieht dann für eine Zeile so aus:
456 483 0.00416233 0 0.00416233 [137, 29, 127, 65, 178, 226, 251, 50, 124, 200, 126, 224, 185, 31, 181, 121, 38, 115, 23, 218, 177, 184, 37, 110, 71, 171, 50, 192, 231, 193, 103, 249]
Der Vorteil zum oberen Beitrag ist jetzt, dass das ";" verschwunden ist.
Jetzt müsste ich aber noch die beiden Eckigen Klammern in jeder Zeile entfernen?
Hat jemand eine Ahnung, wie das möglich ist.
Und gibt es in C++ einen Befehl um alle Txt-Dateien eines Ordners zu löschen?#
viele Grüße