计算机图形学7大类函数,不知道这 7 大 OpenCV 函数怎么向计算机视觉专家进阶?...

image = cv2.imread( 'data.png') #load imageplot.imshow(image) #show image

计算机图形学7大类函数,不知道这 7 大 OpenCV 函数怎么向计算机视觉专家进阶?..._第1张图片

2. cvtColor

加载图像后,还可以使用cvtColor中的不同标志将其转换为不同的配色方案。

cv2.cvtColor(image,cv2.COLOR_BGR2RGB)

以下是cvtColor的一些其他标志:COLOR_BGR2GRAY、COLOR_BGR2HSV和COLOR_BGR2YUV,等等。

计算机图形学7大类函数,不知道这 7 大 OpenCV 函数怎么向计算机视觉专家进阶?..._第2张图片

这些标志都是双向的,所以COLOR_YUV2BGR也是可以的。

3. resize

有时你只想要一张与原始尺寸不同的图像,这就是你需要的功能:

cv2.resize(image, dimension, interpolation = cv2.INTER_AREA)

它将原始图像按尺寸缩放为新图像。尺寸定义为:

dimension = (width, height)

缩放时需要对原图像进行重采样,而插值是对图片进行重采样的常见方式。在我的具体示例中,它使用 INTER_AREA-即使用像素面积关系进行重采样,还有更多类似的示例

INTER_NEAREST:最近邻插值

INTER_LINEAR: 双线性插值

INTER_CUBIC:在4×4像素邻域内进行双三次插值

INTER_LANCZOS4:在8×8像素邻域内进行Lanczos插值

计算机图形学7大类函数,不知道这 7 大 OpenCV 函数怎么向计算机视觉专家进阶?..._第3张图片

4. split/merge

每张图片都有3个通道,如果我们想将它们分割成单独的图像,可以使用分割函数来实现。

(channel_b,channel_g,channel_r)= cv2.split(img)

如果图像是BGR格式,它将把每个通道分成你定义的那三个变量。

在拆分通道之后,如果想将它们合并回去,可以使用 merge。

cv2.merge(channel_b,channel_g,channel_r)

计算机图形学7大类函数,不知道这 7 大 OpenCV 函数怎么向计算机视觉专家进阶?..._第4张图片

5. vconcat / hconcat

使用vconcat,hconcat可以在水平和垂直方向上连接(合并)图像。v表示垂直,h表示水平。

cv2 .vconcat([image1,image2])cv2 .h concat([image1,image2])

计算机图形学7大类函数,不知道这 7 大 OpenCV 函数怎么向计算机视觉专家进阶?..._第5张图片

6. ones/zeros

因为图像(Mat)要求彩色图像具有3个层/维度,所以需要在Mat所有的三个维度中都填充1或0。

size = 200, 200, 3m = np.zeros(size, dtype=np.uint8)n = np.ones(size, dtype=np.uint8)

如果想让我多加一个函数的话,我想在这里加上一个转置函数。

7. transpose

如果我们想要转置一个定义好的矩阵,我们所要做的就是使用这个函数:

import numpy as npmat = np.array([[1, 2, 3], [4, 5, 6]])mat_transpose = mat.transposeprint(mat_tranpose)

我们得到如下输出:

[[1 4][2 5][3 6]]#original input[[1, 2, 3][4, 5, 6]]

搞定了!

https://towardsdatascience.com/top-10-opencv-functions-everyone-has-to-know-about-945f33de8f6f

本文为CSDN翻译文章,转载请注明出处。返回搜狐,查看更多

你可能感兴趣的:(计算机图形学7大类函数)