21xrx.com
2025-03-17 16:41:43 Monday
文章检索 我的文章 写文章
C++ OpenCV 图片打开操作
2023-07-12 09:15:43 深夜i     17     0
C++ OpenCV 图片 打开 操作

C++ OpenCV 是一个开源计算机视觉库,可以用于处理图像和视频。其中,图片打开操作是使用 C++ OpenCV 的基础操作之一。

首先,打开图片需要使用 imread() 函数。这个函数的语法如下:

cv::Mat cv::imread(const std::string& filename, int flags = cv::IMREAD_COLOR)

该函数的第一个参数是图片的路径和名称,第二个参数表示读取图片的模式。常用的模式有以下几种:

- cv::IMREAD_COLOR(默认值):读入一个彩色图像。alpha 通道被忽略,如果有一个图像的 alpha 通道, 这个通道会被忽略,只还原出 RGB 三通道。

- cv::IMREAD_GRAYSCALE:以灰度模式读入图像。图像的所有通道都会被读入。

- cv::IMREAD_UNCHANGED:读入带 Alpha 通道的图像,保留 Alpha 通道。如果没有 alpha 通道,则表现和 cv::IMREAD_COLOR 相同。

如果图片没有成功读取,那么读取结果为一个空的 cv::Mat 对象。

以下是一个简单的打开图片的程序示例:

#include <opencv2/highgui/highgui.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
  //打开图片
  Mat image = imread("image.jpg");
  //检查是否成功打开图片
  if (image.empty())
  
    cout << "无法加载图片" << endl;
    return -1;
  
  //创建一个窗口,显示图像
  namedWindow("window_name", WINDOW_NORMAL); //由于图片大小可能会超出显示器范围,需要提前设置一个适当的窗口大小
  imshow("window_name", image);
  //等待用户按下任意键
  waitKey(0);
  return 0;
}

通过上述代码,我们成功打开了一张名为 "image.jpg" 的图片,并将该图片显示在名为 "window_name" 的窗口中。如果图片打开成功,会在控制台输出 "无法加载图片"。用户可以按下任意键关闭窗口,程序结束。

总之,在 C++ OpenCV 中打开一张图片只需使用简单的 imread() 函数即可。如果打开成功,可以继续使用其他 OpenCV 函数对图片进行处理。如果打开失败,可以使用空的 cv::Mat 对象检查错误原因。

  
  

评论区