每个cver都应该知道的十大OpenCV函数

磐创AI
关注

下面是cvtColor的一些其他标志:COLOR_BGR2GRAY、COLOR_BGR2HSV和COLOR_BGR2YUV等。这是双向的,例如,COLOR_YUV2BGR也是可能的。

resize有时你只需要一个不同于原来大小的图像,所以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插值https://scc.ustc.edu.cn/zlsc/sugon/intel/ipp/ipp_manual/IPPI/ippi_appendices/ippi_appB_LanczosInterpolation.htm

split/merge每张图片有3个通道,如果我们想把它们分割成不同的图片,我们可以使用分割函数来实现。(channel_b, channel_g, channel_r) = cv2.split(img)

如果图像是BGR格式,它会将每个通道分成你定义的三个变量。如果你已经分割通道,但希望将它们合并到一起,你可以使用merge。cv2.merge(channel_b, channel_g, channel_r)

vconcat / hconcat使用vconcat(),hconcat()可以垂直和水平连接(合并)图像。v表示垂直,h表示水平。cv2.vconcat([image1, image2])

cv2.hconcat([image1, image2])

ones/zeros如果要在三维图像(矩阵)中都填充1或0(因为矩阵要求彩色图像具有3个维度)。size = 200, 200, 3

m = np.zeros(size, dtype=np.uint8)

n = np.ones(size, dtype=np.uint8)

作为一个附加函数,我想在这里添加一个东西,那就是转置函数。transpose如果我们有一个要转置的已定义矩阵mat,我们所要做的就是直接对mat使用这个函数:

import numpy as np

mat = np.array([[1, 2, 3], [4, 5, 6]])

mat_transpose = mat.transpose()

print(mat_tranpose)

得到输出:[[1 4]

[2 5]

[3 6]]

#original input

[[1, 2, 3]

[4, 5, 6]]

声明: 本文由入驻OFweek维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。
侵权投诉

下载OFweek,一手掌握高科技全行业资讯

还不是OFweek会员,马上注册
打开app,查看更多精彩资讯 >
  • 长按识别二维码
  • 进入OFweek阅读全文
长按图片进行保存