主要观点总结
本文介绍了OpenCV库在图像预处理方面的应用,包括图像平移、旋转、缩放、翻转和裁剪等操作的实现方法和代码示例。
关键观点总结
关键观点1: OpenCV是一个跨平台计算机视觉和机器学习算法库,可用于实现各种复杂的算法和图像预处理。
OpenCV提供了丰富的函数和工具,包括仿射变换函数cv.warpAffine()、旋转矩阵函数cv.getRotationMatrix2D()、图像缩放函数cv.resize()、图像翻转函数cv.flip()等,可用于实现图像的平移、旋转、缩放、翻转和裁剪等操作。
关键观点2: 图像平移的实现方法包括调用cv.warpAffine()函数,创建一个平移矩阵,将图像、平移矩阵和维度代入函数,设置x和y值确定平移方向和距离。
通过示例代码展示了如何使用OpenCV实现图像平移。
关键观点3: 图像旋转的实现方法也是使用cv.warpAffine()函数,但需要创建一个旋转矩阵rotMAT,包括旋转点、旋转角度和比例因子。旋转矩阵的创建可以通过cv.getRotationMatrix2D()函数实现。
通过示例代码展示了如何使用OpenCV实现图像旋转。
关键观点4: 图像缩放需要使用cv.resize()函数,指定目标尺寸和插值方法。插值方法可以选择区域插值、三次样条插值、线性插值等,根据缩小或放大的需要选择适合的插值方法。
通过示例代码展示了如何使用OpenCV实现图像缩放。
关键观点5: 图像翻转可以使用cv.flip()函数实现,支持垂直翻转、水平翻转和两个方向同时翻转。通过示例代码展示了如何使用OpenCV实现图像翻转。
此外,还介绍了图像裁剪的实现方法,使用image[a1:a2,b1:b2]的方式裁剪图像。
文章预览
子豪 发自 凹非寺 量子位 报道 | 公众号 QbitAI OpenCV是一个跨平台计算机视觉和机器学习算法库。 它不仅能用来实现各种复杂的算法,还能够对图像进行 预处理 : 包括图像的平 移、旋转、缩放、翻转、裁剪。 希望把这些知识分享给初学者。 图像平移 我们使用OpenCV提供的仿射变换函数cv.warpAffine()沿x和y轴移动图像。 Step1. 调用一个函数cv.warpAffine()。 Step2. 创建一个平移矩阵,这一步需要借助NumPy进行。 Step3. 将img(需要变换的图像)、transMAT(平移矩阵)和Dimensions(维度)代入仿射变换函数cv.warpAffine(),输入x和y以确定平移多少。 向左、向上移动,则x、y设为负数,反之则为正数。 Step4. 采用cv.imshow()函数显示图像。 ## Translation def translation (img,x,y) : tranMAT = np.float32([[ 1 , 0 ,x],[ 0 , 1 ,y]]) dimensions = (img.shape[ 1 ],img.shape[ 0 ]) return
………………………………