在c++中绘制image.jpg
时间: 2024-02-01 19:16:48 浏览: 20
在C++中绘制图片需要使用图形库,比如OpenCV或者Qt等。以下是使用OpenCV绘制图片的示例代码:
```c++
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
Mat image = imread("image.jpg", IMREAD_COLOR); // 读取图片
if (image.empty())
{
cout << "Could not open or find the image" << endl;
return -1;
}
namedWindow("Display window", WINDOW_NORMAL); // 创建窗口
imshow("Display window", image); // 显示图片
waitKey(0); // 等待按键
return 0;
}
```
以上代码使用OpenCV库读取指定路径的图片并显示在窗口中。其中,`namedWindow`函数创建一个窗口,`imshow`函数将图片显示在窗口中,`waitKey`函数等待按键事件。你需要在项目中添加OpenCV库的链接和头文件,以便能够成功编译运行程序。
相关问题
c++qt在图片上绘制圆以及文本并保存成jpg格式
要在图片上绘制圆和文本,可以使用Qt的QPainter类。以下是一个示例代码:
```c++
#include <QImage>
#include <QPainter>
int main()
{
// 加载图片
QImage image("input.jpg");
// 创建画家对象
QPainter painter(&image);
// 绘制圆
painter.setPen(Qt::red);
painter.drawEllipse(QPoint(100, 100), 50, 50);
// 绘制文本
painter.setPen(Qt::black);
painter.setFont(QFont("Arial", 20));
painter.drawText(QPoint(200, 200), "Hello World!");
// 保存图片
image.save("output.jpg");
return 0;
}
```
这个示例代码会从文件`input.jpg`中加载图片,然后在图片上绘制一个红色圆和一个黑色的文本,最后将修改后的图片保存为`output.jpg`文件。
如果你想要更加详细的了解Qt中如何绘制图形和文本,可以参考Qt官方文档中的QPainter类文档。
c++中如何使用opencv绘制三角形区域
使用OpenCV绘制三角形区域的步骤如下:
1. 创建一个空的图像或从文件中加载图像,例如:
```
cv::Mat image = cv::imread("image.jpg");
```
2. 定义三角形的三个顶点坐标,例如:
```
cv::Point pt1(100, 100);
cv::Point pt2(200, 100);
cv::Point pt3(150, 200);
```
3. 定义一个包含三个顶点坐标的数组,例如:
```
cv::Point pts[3] = {pt1, pt2, pt3};
```
4. 使用cv::fillConvexPoly函数填充三角形区域,例如:
```
cv::fillConvexPoly(image, pts, 3, cv::Scalar(0, 0, 255));
```
这将在图像上填充以三个顶点为顶点的红色三角形区域。函数参数说明:第一个参数是要绘制的图像,第二个参数是包含三个顶点坐标的数组,第三个参数是顶点的数量,第四个参数是填充的颜色。