C++opencv显示框坐标
时间: 2023-08-01 20:09:53 浏览: 107
要在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显示图片坐标
在C++中使用OpenCV库来显示图片并标记坐标,你可以按照以下步骤操作:
1. 首先,确保你已经安装了OpenCV库并且包含了相应的头文件`#include <opencv2/opencv.hpp>`。
2. 加载图像,可以使用`cv::imread()`函数:
```cpp
cv::Mat image = cv::imread("path_to_your_image.jpg", cv::IMREAD_COLOR);
if (image.empty()) {
std::cout << "Error loading image" << std::endl;
return;
}
```
3. 定义坐标点,并将其转换为`cv::Point`结构:
```cpp
cv::Point point(50, 100); // 假设这是你要标注的坐标
```
4. 使用`putText()`函数来在图像上绘制文本并显示坐标:
```cpp
cv::putText(image, "X: " + std::to_string(point.x) + ", Y: " + std::to_string(point.y),
point, // 起始位置
cv::FONT_HERSHEY_SIMPLEX, // 字体风格
0.5, // 字体大小
cv::Scalar(0, 255, 0), // 文字颜色
1, // 线宽
cv::LINE_AA); // 抗锯齿
```
5. 最后,使用`imshow()`函数显示带有坐标信息的图片:
```cpp
cv::imshow("Image with coordinate", image);
cv::waitKey(0); // 等待用户按键关闭窗口
```
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的矩形框。最后,将结果显示出来。
请注意,上述代码仅仅是演示如何画矩形框,实际应用中可能需要根据具体需求进行调整,比如画不同颜色、不同宽度的矩形框。
阅读全文