OpenCV库在C++中的图像标注技巧

发布时间:2024-08-26 18:53:44 作者:小樊
来源:亿速云 阅读:100

OpenCV是一个开源的计算机视觉和机器学习软件库,可以用于处理图像和视频

  1. 导入所需的头文件:
#include <opencv2/opencv.hpp>
#include<iostream>
  1. 使用cv::imread()函数读取图像:
cv::Mat image = cv::imread("path_to_image.jpg");
  1. 创建窗口并显示原始图像:
cv::namedWindow("Original Image", cv::WINDOW_AUTOSIZE);
cv::imshow("Original Image", image);
  1. 定义要添加到图像上的文本:
std::string text = "Hello, OpenCV!";
  1. 使用cv::putText()函数将文本添加到图像上:
int fontFace = cv::FONT_HERSHEY_SIMPLEX;
double fontScale = 1;
int thickness = 2;
cv::Point textOrg(50, 100); // 文本左下角的位置

cv::putText(image, text, textOrg, fontFace, fontScale, cv::Scalar::all(255), thickness, cv::LINE_AA);
  1. 创建新窗口并显示带有文本标注的图像:
cv::namedWindow("Image with Text", cv::WINDOW_AUTOSIZE);
cv::imshow("Image with Text", image);
  1. 等待用户按下任意键,然后关闭窗口:
cv::waitKey(0);
cv::destroyAllWindows();

这是一个完整的示例代码:

#include <opencv2/opencv.hpp>
#include<iostream>

int main() {
    cv::Mat image = cv::imread("path_to_image.jpg");

    if (image.empty()) {
        std::cout << "Error: Could not open the image."<< std::endl;
        return -1;
    }

    cv::namedWindow("Original Image", cv::WINDOW_AUTOSIZE);
    cv::imshow("Original Image", image);

    std::string text = "Hello, OpenCV!";
    int fontFace = cv::FONT_HERSHEY_SIMPLEX;
    double fontScale = 1;
    int thickness = 2;
    cv::Point textOrg(50, 100);

    cv::putText(image, text, textOrg, fontFace, fontScale, cv::Scalar::all(255), thickness, cv::LINE_AA);

    cv::namedWindow("Image with Text", cv::WINDOW_AUTOSIZE);
    cv::imshow("Image with Text", image);

    cv::waitKey(0);
    cv::destroyAllWindows();

    return 0;
}

编译并运行此代码,将在原始图像上添加文本标注,并在新窗口中显示结果。你可以根据需要调整文本、字体、大小、颜色等参数。

推荐阅读:
  1. python如何调用c++中ctype的list传数组或者返回数组
  2. 怎么在python中通过调用c++传递数组

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

c++

上一篇:C++ OpenCV中图像融合技术探索

下一篇:C++ OpenCV处理视频流的最佳实践

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》