如何从点集创造图像,使用C++版opencv回答
时间: 2023-12-26 14:07:07 浏览: 69
在C++版OpenCV中,可以使用以下步骤从点集创建图像:
1. 创建一个空白图像:使用`cv::Mat`类构造函数创建一个空白的黑色图像,指定图像大小和通道数。
```c++
cv::Mat image(rows, cols, CV_8UC3, cv::Scalar(0, 0, 0));
```
2. 将点集绘制到图像中:使用`cv::circle`函数将每个点绘制到图像中,可以指定点的位置、半径、颜色和填充方式。
```c++
for (int i = 0; i < points.size(); i++) {
cv::circle(image, points[i], radius, color, -1);
}
```
3. 显示图像:可以使用`cv::imshow`函数显示图像。
```c++
cv::imshow("Image", image);
cv::waitKey(0);
```
完整示例代码:
```c++
#include <opencv2/opencv.hpp>
#include <vector>
int main() {
// 创建点集
std::vector<cv::Point> points = { cv::Point(50, 50), cv::Point(100, 100), cv::Point(150, 50) };
// 创建图像
int rows = 200, cols = 200, radius = 10;
cv::Scalar color = cv::Scalar(0, 255, 0);
cv::Mat image(rows, cols, CV_8UC3, cv::Scalar(0, 0, 0));
// 在图像中绘制点集
for (int i = 0; i < points.size(); i++) {
cv::circle(image, points[i], radius, color, -1);
}
// 显示图像
cv::imshow("Image", image);
cv::waitKey(0);
return 0;
}
```
阅读全文