Wie kann ich eine cv :: Mat in OpenCv in eine Graustufe konvertieren?

Wie kann ich eine cv :: Mat in eine Graustufe umwandeln?

Ich versuche, drawKeyPoints func von opencv aus auszuführen, es wird jedoch ein Fehler mit der Meldung "Assertion Filed" angezeigt. Ich vermute, dass es ein Graustufenbild anstelle eines Farbbildes im Parameter erhalten muss.

<code>void SurfDetector(cv::Mat img){
vector<cv::KeyPoint> keypoints;
cv::Mat featureImage;

cv::drawKeypoints(img, keypoints, featureImage, cv::Scalar(255,255,255) ,cv::DrawMatchesFlags::DRAW_RICH_KEYPOINTS);

cv::namedWindow("Picture");
cv::imshow("Picture", featureImage);
</code>

}

Antworten auf die Frage(2)

Ihre Antwort auf die Frage