700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 详解OpenCV的函数imread()和函数imshow() 并利用它们实现对图像的读取和显示

详解OpenCV的函数imread()和函数imshow() 并利用它们实现对图像的读取和显示

时间:2023-08-24 09:48:57

相关推荐

详解OpenCV的函数imread()和函数imshow() 并利用它们实现对图像的读取和显示

详解OpenCV的函数imread()和函数imshow(),并利用它们实现对图像的读取和显示

目录

01-详解函数imread():读取图像文件02-详解函数imshow():显示图像03-使用函数imread()和imshow()读取并显示一幅图像

01-详解函数imread():读取图像文件

函数imread()用于读取图像文件。

函数imread()的c++原型如下:

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

函数imread()的Python原型如下:

retval = cv.imread(filename[, flags])

函数imread()返回的是Mat对象,如果读取文件失败,函数会返回一个空矩阵,假设src_image是Mat对象,则此时src_image.data的值是NULL。因此正常读取完文件后,我们可以利用src_image.data或src_image.epmty()函数进行返回值检查,以确保文件正常载入。

示例如下:

if (src_image.data == NULL){std::cout << "Error: Could not load image" << std::endl;return 0;}

if (src_image.empty()){std::cout << "Error: Could not load image" << std::endl;return 0;}

接下来介绍函数imread()的两个参数。

filename:

待读取图像文件的路径和文件名。

flags:

表示读取模式,默认参数为“IMREAD_COLOR”,表示将读取的图像转化成三通道的BGR彩色图像。

其它常用模式还有:

“IMREAD_GRAYSCALE”,表示将读取的图像转化成灰度图像。

“IMREAD_UNCHANGED ”,表示不对图像进行转化处理。

在OpenCV4.x中一共有13种读取模式,更多模式请参阅下面的链接。

/4.4.0/d4/da8/group__imgcodecs.html#ga61d9b0126a3e57d9277ac48327799c80

关于函数Python-OpenCV中imread()读取的图像数据的存储格式,昊虹君认为大家也要必要了解一下,详情见链接 /thread-89-1-1.html

02-详解函数imshow():显示图像

函数imshow()用于显示图像。

函数imshow()的c++原型如下:

void cv::imshow(const String & winname,InputArray mat)

函数imshow()的Python原型如下:

None=cv.imshow(winname, mat)

参数意义如下:

winname:

图像显示窗口的名字。

mat:

待显示的图像,实际上是一个Matc对象。

使用函数imshow()时要注意,该函数在显示前会对数据进行归一化处理,那么具体的归一化规则是什么呢?请参阅页面 /thread-86-1-1.html

如果您需要对显示图像的窗口作一些调整,那么你需要使用到函数namedWindow(),关于函数namedWindow()的详细介绍,请大家参考页面 /thread-87-1-1.html

03-使用函数imread()和imshow()读取并显示一幅图像

C++代码如下:

//出处:昊虹AI笔记网()//用心记录计算机视觉和AI技术//博主微信/QQ 2487872782//QQ群 271891601//欢迎技术交流与咨询//OpenCV版本 OpenCV3.0#include <opencv2/opencv.hpp>#include <iostream>using namespace cv;int main(){Mat src_image = imread("F:/material/images//-10/bxf_small.jpg");imshow("Source Image", src_image);waitKey();return(0);}

Python代码如下:

# -*- coding: utf-8 -*-# 出处:昊虹AI笔记网()# 用心记录计算机视觉和AI技术# 博主微信/QQ 2487872782# QQ群 271891601# 欢迎技术交流与咨询# OpenCV的版本为4.4.0import cv2 as cvsrc_image = cv.imread('F:/material/images//-10/bxf_small.jpg')cv.imshow('Source Image', src_image)cv.waitKey(0)cv.destroyAllWindows()

C++代码和Python代码的运行结果相同,截图如下:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。