Computer >> Máy Tính >  >> Lập trình >> C ++

Làm thế nào để vẽ một đường thẳng trong OpenCV bằng C ++?

Để vẽ một đoạn thẳng, chúng ta cần hai điểm - điểm bắt đầu và điểm kết thúc. Chúng tôi cũng yêu cầu canvas để vẽ đường thẳng.

Sử dụng OpenCV, ma trận trong canvas của chúng tôi, chúng tôi cần xác định điểm bắt đầu và điểm kết thúc của dòng. Chúng tôi cũng yêu cầu gán một màu cho đường kẻ. Độ dày của dòng cũng phải được giải thích. Nếu chúng ta muốn vẽ một đường bằng OpenCV, chúng ta cần khai báo một ma trận, hai điểm, màu và độ dày của đường.

Sử dụng OpenCV, chúng tôi phải bao gồm tiêu đề bởi vì dòng () chức năng được định nghĩa trong tiêu đề này.

Cú pháp cơ bản của phương thức này như sau -

Cú pháp

line(whiteMatrix, starting, ending, line_Color, thickness);

Chương trình sau đây cho biết cách vẽ một đường thẳng trên một hình ảnh trong OpenCV -

Ví dụ

#include<iostream>
#include<opencv2/highgui/highgui.hpp>
#include<opencv2/imgproc/imgproc.hpp>
using namespace cv;
using namespace std;
int main() {
   Mat whiteMatrix(200, 200, CV_8UC3, Scalar(255, 255, 255));//Declaring a white matrix//
   Point starting(50, 50);//Starting Point of the line
   Point ending(150, 150);//Ending Point of the line
   Scalar line_Color(0, 0, 0);//Color of the line
   int thickness = 2;//thickens of the line
   namedWindow("GrayImage");//Declaring a window to show the line
   line(whiteMatrix, starting, ending, line_Color, thickness);//using line() function to draw the line//
   imshow("GrayImage", whiteMatrix);//showing the line//
   waitKey(0);//Waiting for KeyStroke
   return 0;
}

Đầu ra

Làm thế nào để vẽ một đường thẳng trong OpenCV bằng C ++?