📅  最后修改于: 2023-12-03 15:07:52.134000             🧑  作者: Mango
OpenCV是一个功能强大的计算机视觉库,它提供了很多方法和工具来处理和分析图像。在本文中,我们将学习如何在C++中使用OpenCV绘制椭圆。
在开始之前,您需要安装OpenCV。您可以从OpenCV官方网站(https://opencv.org/)下载和安装OpenCV。
在编写您的代码之前,请确保包含必要的OpenCV头文件。以下是打开图像和绘制椭圆所需的OpenCV头文件:
#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
在开始绘制椭圆之前,您需要打开一张图像。您可以使用OpenCV的imread函数打开图像。请确保将图像文件放置在当前工作目录中,并将图像文件路径传递给imread函数:
cv::Mat img = imread("image.png");
使用OpenCV的ellipse函数绘制椭圆。以下是绘制椭圆的函数:
void ellipse(cv::Mat& img, const cv::RotatedRect& box, const cv::Scalar& color, int thickness = 1, int lineType = LINE_8, int shift = 0);
其中:
以下是绘制椭圆的示例代码:
// 创建椭圆所在的旋转矩形
cv::RotatedRect ellipse_rect = cv::RotatedRect(cv::Point2f(200, 200), cv::Size(100, 50), 30);
// 在图像上绘制椭圆
cv::ellipse(img, ellipse_rect, cv::Scalar(0, 0, 255), 2);
最后,使用OpenCV的imshow函数显示绘制椭圆后的图像:
cv::imshow("Ellipse Image", img);
cv::waitKey(0);
下面是绘制椭圆的完整代码:
#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
int main()
{
// 打开图像
cv::Mat img = cv::imread("image.png");
// 创建椭圆所在的旋转矩形
cv::RotatedRect ellipse_rect = cv::RotatedRect(cv::Point2f(200, 200), cv::Size(100, 50), 30);
// 在图像上绘制椭圆
cv::ellipse(img, ellipse_rect, cv::Scalar(0, 0, 255), 2);
// 显示图像
cv::imshow("Ellipse Image", img);
cv::waitKey(0);
return 0;
}
下面是绘制椭圆后的示例图像: