21xrx.com
2024-05-20 14:25:48 Monday
登录
文章检索 我的文章 写文章
OpenCV画点:简单易学的图像处理函数
2023-11-18 17:03:23 深夜i     --     --
OpenCV 画点 图像处理 简单易学

OpenCV(开源计算机视觉库)是一个旨在提供计算机视觉相关功能的开源库。它提供了许多函数和工具,用于处理图像和视频数据。其中之一是绘制点的功能,使用简单易学且非常方便。

在图像处理中,点是一个非常基本的元素。我们可以使用点来标记目标或在图像上绘制线条。OpenCV提供了一个函数cv::circle()来绘制点。

绘制一个点的基本语法如下:


cv::circle(image, center, radius, color, thickness);

这里,image是要在上面绘制点的图像;center是点的中心坐标;radius是点的半径;color是点的颜色(使用BGR格式表示);thickness是绘制点的线条粗细。

例如,我们可以使用以下代码创建一个空的黑色图像,并在图像中心绘制一个红色的点:


cv::Mat image = cv::Mat::zeros(300, 300, CV_8UC3);

cv::Point center(150, 150);

int radius = 5;

cv::Scalar color(0, 0, 255); //红色

int thickness = -1; //填充整个点

cv::circle(image, center, radius, color, thickness);

cv::imshow("Image", image);

cv::waitKey(0);

运行此代码后,将显示一个有一个红色点的黑色图像。

要在图像上绘制多个点,我们可以在一个循环中使用cv::circle()函数多次调用。例如,以下代码绘制了一个随机颜色的点阵:


cv::Mat image = cv::Mat::zeros(300, 300, CV_8UC3);

int numPoints = 100;

for (int i = 0; i < numPoints; i++) {

  cv::Point center(rand() % 300, rand() % 300);

  int radius = 2;

  cv::Scalar color(rand() % 256, rand() % 256, rand() % 256);

  int thickness = -1;

  cv::circle(image, center, radius, color, thickness);

}

cv::imshow("Image", image);

cv::waitKey(0);

运行此代码后,将在图像中绘制一个由100个随机颜色的点组成的点阵。

通过使用OpenCV的cv::circle()函数,我们可以轻松地在图像中绘制点。这个功能非常直观且易于理解,无论是初学者还是经验丰富的图像处理专家都可以使用它来实现自己的图像处理任务。无论是标记目标还是绘制图形,你都可以使用这个简单而强大的函数来实现你的需求。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复