返回

用OpenCV轻松加载并显示图像:初学者友好指南

见解分享

图像处理在我们的日常生活中无处不在,从社交媒体到医疗诊断。而 OpenCV 是一个强大的计算机视觉库,可以帮助您轻松处理图像。使用 OpenCV,您可以加载、显示、编辑和分析图像,以及执行许多其他复杂的图像处理任务。

要使用 OpenCV 加载图像,您可以使用函数 cv::imread()。该函数接受图像文件的路径作为参数,并返回一个 Mat 对象,其中包含图像的数据。您可以使用函数 cv::imshow() 将 Mat 对象显示在屏幕上。

#include <opencv2/opencv.hpp>

int main() {
  // 加载图像
  cv::Mat image = cv::imread("image.jpg");

  // 检查图像是否加载成功
  if (image.empty()) {
    std::cout << "Error loading image!" << std::endl;
    return -1;
  }

  // 显示图像
  cv::imshow("Image", image);

  // 等待用户按下任意键
  cv::waitKey(0);

  // 销毁所有窗口
  cv::destroyAllWindows();

  return 0;
}

上面的代码首先加载图像文件 "image.jpg",如果图像加载成功,则将其显示在屏幕上,标题为 "Image"。然后,它等待用户按下任意键,然后销毁所有窗口。

您还可以使用 OpenCV 将图像保存到文件中。要做到这一点,您可以使用函数 cv::imwrite()。该函数接受图像文件的路径和 Mat 对象作为参数,并将 Mat 对象中的数据保存到图像文件中。

#include <opencv2/opencv.hpp>

int main() {
  // 加载图像
  cv::Mat image = cv::imread("image.jpg");

  // 检查图像是否加载成功
  if (image.empty()) {
    std::cout << "Error loading image!" << std::endl;
    return -1;
  }

  // 保存图像
  cv::imwrite("image_saved.jpg", image);

  // 显示图像
  cv::imshow("Image", image);

  // 等待用户按下任意键
  cv::waitKey(0);

  // 销毁所有窗口
  cv::destroyAllWindows();

  return 0;
}

上面的代码首先加载图像文件 "image.jpg",如果图像加载成功,则将其保存到 "image_saved.jpg" 文件中。然后,它将其显示在屏幕上,标题为 "Image"。然后,它等待用户按下任意键,然后销毁所有窗口。

希望本指南对您有所帮助。如果您有任何问题,请随时提出。