1.图像读取与显示
#include <opencv2/opencv.hpp>
int main()
{
cv::Mat src = cv::imread("E:/Softwares/lena.png", cv::IMREAD_UNCHANGED); // 以 原始格式 读取名为"lena.png"的图像文件
cv::namedWindow("inputwindow", cv::WINDOW_FREERATIO); // 创建一个 自由调整 大小的窗口,名为"inputwindow"
if (src.empty()) // 检查图像是否加载成功
{
printf("could not load image..."); // 如果图像加载失败,则输出错误信息
return -1; // 返回错误代码
}
cv::imshow("inputwindow", src); // 在窗口中显示读取的图像
cv::waitKey(0); // 等待用户按下任意键
cv::destroyAllWindows(); // 关闭所有窗口
return 0;
}
- Mat图像数据存储对象
- imread是OpenCV中用于读取图像的函数
"image.jpg"
: 要读取的图像文件的路径和名称。imread
函数还可以接受一个可选的第二个参数,用于指定图像的读取方式,常见的图像读取方式参数包括:
IMREAD_COLOR
(默认值):以彩色图像格式读取图像,忽略任何透明度。IMREAD_GRAYSCALE
:以灰度图像格式读取图像。IMREAD_UNCHANGED
:以原始图像格式读取图像,包括 alpha 通道。
image.empty()
: 这是Mat
对象的方法,用于检查图像是否成功加载。如果图像为空(即未成功加载),则返回true
。namedWindow("Image", WINDOW_NORMAL);
namedWindow
: 这是用于创建一个窗口的函数,用于显示图像。"Image"
: 这是窗口的名称,可以自定义。WINDOW_NORMAL
: 这是窗口的标志,指定窗口的属性,例如大小等。
imshow("Image", image);
imshow
: 这是用于在指定窗口中显示图像的函数。"Image"
: 这是要显示图像的窗口名称,与之前创建的窗口名称对应。image
: 这是要显示的图像数据。
waitKey(0);
waitKey
: 这是用于等待用户按键输入的函数。参数表示等待时间(毫秒),如果设置为0,则表示无限等待用户按键输入。
destroyAllWindows();
destroyAllWindows
: 这是用于关闭所有OpenCV创建的窗口的函数。在这个例子中,用于关闭显示图像的窗口。