
直线
#include <opencv2/opencv.hpp> int main() { cv::Mat img = cv::imread("./tu/马.jpg", cv::IMREAD_UNCHANGED); cv::Point p0 = cv::Point(100, 100); cv::Point p1 = cv::Point(300, 200); cv::line(img, p0, p1, cv::Scalar(0, 0, 255), 1, 4);//画直线 /* 参数1:图像 参数2:起点坐标 参数3:终点坐标 参数4:颜色 参数5:可选参数。用于设置线段的宽度 参数6:可选参数。用于设置线段的类型,可选8(8邻接连接线-默认)、4(4邻接连接线)和cv2.LINE_AA 为抗锯齿 */ cv::imshow("img", img); cv::waitKey(); }
矩形
#include <opencv2/opencv.hpp> int main() { cv::Mat img = cv::imread("./tu/马.jpg", cv::IMREAD_UNCHANGED); cv::Point p1= cv::Point(100, 100); cv::Point p2 = cv::Point(300, 200); cv::rectangle(img,p1,p2, cv::Scalar(255, 0, 0),3,8); //画矩形--方法一 /* 参数1:图像 参数2:矩形的一个顶点 参数3:矩形对角线上的另一个顶点 参数4:颜色 参数5:矩形的线条的粗细。取负值时(如 CV_FILLED)函数绘制填充了色彩的矩形 参数6:可选参数。用于设置线段的类型,可选8(8邻接连接线-默认)、4(4邻接连接线)和cv2.LINE_AA 为抗锯齿 */ cv::Rect area(50, 50, 200, 100); //需要裁减的矩形区域 cv::rectangle(img, area, cv::Scalar(0, 0, 255), 3, 8); //画矩形--方法二 /* 参数1:图像 参数2:矩形对象 参数3:颜色 参数4:矩形的线条的粗细。取负值时(如 CV_FILLED)函数绘制填充了色彩的矩形 参数5:可选参数。用于设置线段的类型,可选8(8邻接连接线-默认)、4(4邻接连接线)和cv2.LINE_AA 为抗锯齿 */ cv::imshow("img", img); cv::waitKey(); }
圆
#include <opencv2/opencv.hpp> int main() { cv::Mat img = cv::imread("./tu/马.jpg", cv::IMREAD_UNCHANGED); cv::Point p0 = cv::Point(100, 100); cv::circle(img, p0, 100, cv::Scalar(0, 0, 255), 2); //画圆 /* 参数1:图像 参数2:圆心 参数3:半径 参数4:颜色 参数5:线条粗细 */ cv::imshow("img", img); cv::waitKey(); }
