C++opencv显示框坐标
时间: 2023-08-01 13:09:53 浏览: 58
要在OpenCV中显示一个框,你需要指定框的左上角和右下角的坐标。以下是一个简单的示例代码,演示如何在图像上绘制一个矩形框并显示其左上角和右下角的坐标。
```c++
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
// 读取图像
Mat image = imread("test.jpg");
// 定义框的左上角和右下角坐标
Point pt1(100, 100);
Point pt2(300, 300);
// 在图像上绘制矩形框
rectangle(image, pt1, pt2, Scalar(0, 0, 255), 2);
// 显示图像
imshow("image", image);
// 输出矩形框的坐标
cout << "Left Top: " << pt1 << endl;
cout << "Right Bottom: " << pt2 << endl;
waitKey(0);
return 0;
}
```
在这个例子中,我们使用`rectangle()`函数绘制一个矩形框,并使用`imshow()`函数显示图像。`Point`类表示一个点的坐标,`Scalar`类表示颜色。`waitKey()`函数等待用户按下键盘上的任何键,然后返回按键的ASCII值。
相关问题
c++ opencv 画框
您可以使用OpenCV的rectangle函数来画矩形框。下面是一个示例代码,演示如何在图像上画矩形框:
```c++
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
// 读取图片
Mat img = imread("input.jpg");
// 画矩形框
rectangle(img, Point(100, 100), Point(200, 200), Scalar(0, 0, 255), 2);
// 显示结果
imshow("result", img);
waitKey();
return 0;
}
```
在上述代码中,我们首先读取了一张图片。然后,使用rectangle函数画了一个左上角坐标为(100, 100)、右下角坐标为(200, 200)、颜色为红色、线宽为2的矩形框。最后,将结果显示出来。
请注意,上述代码仅仅是演示如何画矩形框,实际应用中可能需要根据具体需求进行调整,比如画不同颜色、不同宽度的矩形框。
c++ opencv画折线图坐标轴
要在 OpenCV 中画折线图坐标轴,首先需要创建一个空白的图像作为背景,然后定义折线的数据点坐标。接下来,我们可以使用 OpenCV 的线段绘制函数来绘制坐标轴和折线。
首先,定义坐标轴的起点和终点,然后使用`cv2.line()`函数来绘制X轴和Y轴。接着,根据折线的数据点坐标,使用`cv2.line()`函数来绘制折线图。最后,可以使用`cv2.putText()`函数来添加坐标轴的标签。
具体代码如下:
```python
import numpy as np
import cv2
# 创建一个空白的图像
img = np.zeros((512, 512, 3), np.uint8)
# 定义坐标轴的起点和终点
x_start = (50, 450)
x_end = (450, 450)
y_start = (50, 450)
y_end = (50, 50)
# 绘制X轴和Y轴
cv2.line(img, x_start, x_end, (255, 255, 255), 2)
cv2.line(img, y_start, y_end, (255, 255, 255), 2)
# 定义折线的数据点坐标
points = [(100, 400), (200, 300), (300, 450), (400, 200)]
# 绘制折线图
for i in range(len(points) - 1):
cv2.line(img, points[i], points[i+1], (0, 255, 0), 2)
# 添加坐标轴的标签
cv2.putText(img, 'X', (480, 470), cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 255, 255), 2)
cv2.putText(img, 'Y', (30, 30), cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 255, 255), 2)
# 显示图像
cv2.imshow('Line Chart', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
以上就是使用 OpenCV 画折线图坐标轴的方法。通过定义坐标轴的起点和终点,以及折线的数据点坐标,再使用`cv2.line()`函数来绘制坐标轴和折线,最后添加坐标轴的标签,就可以在 OpenCV 中画出折线图坐标轴。