opencv
Zeichnungsformen (Linie, Kreis usw.) in C ++
Suche…
Einführung
In OpenCV können zahlreiche Formen wie Punkt, Linie, Kreis usw. gezeichnet werden. Es gibt eine Option zum Füllen einer Form. Der folgende Code ist selbsterklärend und zeigt, wie Formen gezeichnet werden.
Beispiel für Zeichnungsformen
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc.hpp> // drawing shapes
#include <iostream>
int main( int argc, char** argv )
{
// First create a black image.
cv::Mat image(500,500, CV_8UC3, cv::Scalar(0,0,0));
// Check if the image is created successfully.
if( !image.data ){
std::cout << "Could not open or find the image" << std::endl ;
exit(EXIT_FAILURE);
}
//####################( Draw Line )##########################
cv::Point p1(100,100), p2(200,100);
cv::Scalar colorLine(0,255,0); // Green
int thicknessLine = 2;
cv::line(image, p1, p2, colorLine, thicknessLine);
//####################( Draw Circle )#########################
// unfilled circle
cv::Point centerCircle1(250,250);
int radiusCircle = 30;
cv::Scalar colorCircle1(0,0,255);
int thicknessCircle1 = 2;
cv::circle(image, centerCircle1, radiusCircle, colorCircle1, thicknessCircle1);
// filled circle
cv::Point centerCircle2(400,100);
cv::Scalar colorCircle2(0,100,0);
cv::circle(image, centerCircle2, radiusCircle, colorCircle2, CV_FILLED);
//####################( Draw Rectangle )#######################
// unfilled
cv::Point p3(400,400), p4(450,450);
cv::Scalar colorRectangle1(0,0,255);
int thicknessRectangle1 = 3;
cv::rectangle(image, p3, p4, colorRectangle1,thicknessRectangle1);
// filled
cv::Point p5(100,400), p6(150,450);
cv::Scalar colorRectangle2(255,0,255);
cv::rectangle(image, p5, p6, colorRectangle2, CV_FILLED);
//#################( Draw Shapes on Image )######################
cv::namedWindow( "Display window", cv::WINDOW_AUTOSIZE );
cv::imshow( "Display window", image );
cv::waitKey(0);
return 0;
}
Die Ausgabe ist
OpenCV 3.2 Mac mit g ++ - Compiler
g++ main2.cpp -o main `pkg-config --cflags --libs opencv`
Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow