Ich brauche eine Funktion zu implementieren, dass eine Zeichenfolge empfängt enthält die Bytes eines Bildes (empfangen über Boost-Socket-Verbindung) und wandelt die Informationen in einem OpenCV cv: : Mat.eine Reihe von Bytes zu cv :: Matte
Ich kenne auch die Breite und Höhe des Bildes und seine Größe in Bytes. Meine Funktion sieht so aus:
void createImageFromBytes(const std::string& name, std::pair<int,int> dimensions, const std::string& data)
{
int width,height;
width = dimensions.first;
height = dimensions.second;
//convert data to cv::Mat image
std::string filepng = DATA_PATH"/" + name +".png";
imwrite(filepng, image);
}
Welches ist die beste Methode dafür? Hat OpenCV einen Konstruktor für Mat aus einem String?
nicht zu pingelig sein, aber sind Höhe und Reihen nicht dasselbe? – trianta2
Ich bekomme Fehler bei der Kompilierung und beklagt, dass es für diese Verwendung von cv :: Mat keinen passenden Konstruktor gibt. Möglicherweise Updates zu opencv, da Ihr Beitrag Ihre Lösung durchbrochen hat? –