admin 管理员组

文章数量: 1086019


2024年4月16日发(作者:h型钢多少钱)

opencv基本操作

OpenCV(OpenSourceComputerVisionLibrary)是一个开源计算

机视觉库,是计算机视觉领域中最常用的库之一。它由C++编写,支

持Python、Java等多种编程语言。OpenCV提供了各种各样的算法和

函数,可用于图像处理、计算机视觉和机器学习等领域。本文将介绍

OpenCV的基本操作,包括图像的读取、显示、保存、颜色空间转换、

图像缩放、图像平移、图像旋转、图像翻转、图像阈值化、图像平滑、

边缘检测等。

1. 图像的读取、显示、保存

OpenCV可以读取多种格式的图像文件,包括BMP、JPEG、PNG、

TIFF等。读取图像的函数是cv::imread(),语法如下:

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

cv::IMREAD_COLOR);

其中,filename是要读取的图像文件名,flags是读取图像的方

式,可以是cv::IMREAD_COLOR(默认)、cv::IMREAD_GRAYSCALE(灰

度图像)、cv::IMREAD_UNCHANGED(包括alpha通道的图像)等。读

取图像后,可以使用cv::imshow()函数将图像显示出来,语法如下:

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

其中,winname是窗口的名称,mat是要显示的图像。最后,使

用cv::imwrite()函数将图像保存到文件中,语法如下:

bool cv::imwrite(const string& filename, InputArray img,

const vector& params = vector());

- 1 -

其中,filename是要保存的图像文件名,img是要保存的图像,

params是保存图像的参数,比如JPEG的压缩质量等。

2. 颜色空间转换

OpenCV支持多种颜色空间,包括RGB、HSV、YCrCb、Lab等。颜

色空间转换的函数是cv::cvtColor(),语法如下:

void cv::cvtColor(InputArray src, OutputArray dst, int

code, int dstCn = 0);

其中,src是要转换的图像,dst是转换后的图像,code是转换

的方式,可以是cv::COLOR_BGR2GRAY(BGR到灰度)、

cv::COLOR_BGR2HSV(BGR到HSV)、cv::COLOR_BGR2YCrCb(BGR到YCrCb)

等。dstCn是转换后的图像的通道数,通常为0表示与src相同。颜

色空间转换可以用于图像分割、目标检测等领域。

3. 图像缩放

图像缩放是将图像的大小调整为指定的大小或比例。OpenCV提

供了cv::resize()函数用于图像缩放,语法如下:

void cv::resize(InputArray src, OutputArray dst, Size

dsize, double fx = 0, double fy = 0, int interpolation =

cv::INTER_LINEAR);

其中,src是要缩放的图像,dst是缩放后的图像,dsize是缩

放后的大小,可以是Size(width, height)或Scalar(width, height),

fx和fy是水平和垂直方向的缩放比例,如果同时指定了dsize和fx、

fy,则以dsize为准。interpolation是插值方式,可以是

- 2 -


本文标签: 图像 缩放 转换 读取 保存