Python OpenCV超详细讲解调整大小与图像操作的实现
作者:振华OPPO
OpenCV用C++语言编写,它具有C ++,Python,Java和MATLAB接口,并支持Windows,Linux,Android和Mac OS,OpenCV主要倾向于实时视觉应用,并在可用时利用MMX和SSE指令,本篇文章带你通过OpenCV实现重调大小与图像裁剪
准备工作
右击新建的项目,选择Python File,新建一个Python文件,然后在开头import cv2
导入cv2库。
我们还要知道在OpenCV中,坐标轴的方向是x轴向右,y轴向下,坐标原点在左上角,比如下面这张长为640像素,宽为480像素的图片。OK,下面开始本节的学习吧。
查看图像大小
- 调用imread()方法获取我们资源文件夹中的图片lambo.png
- 输出图像的shape属性
img=cv2.imread("Resources/lambo.png") print(img.shape)
我们来看下效果:
- 上图中462是图像的高度,也就是y轴;
- 623是图像的宽度,也就是x轴;
- 3是通道数,BGR(蓝绿红)通道
重新调整图像大小
- resize()方法可以将图像调整到指定的宽和高,参数1是需要调整的图像img,参数2是(600,300),也就是新图像的宽和高。
- 我们打印下imgResize的shape,看看是不是输出(300,600,3)。
- 最后将原图和修改大小后的图像显示出来。
img=cv2.imread("Resources/lambo.png") imgResize=cv2.resize(img,(600,300)) print(imgResize.shape) cv2.imshow("img",img) cv2.imshow("imgResize",imgResize) cv2.waitKey(0)
我们来运行一下,可以看到右侧是调整后的图像,明显宽和高都比原图小:
来看下控制台的输出,和图像大小是一样的:
图像裁剪
图像裁剪其实就是对矩阵进行截取,选哪些行哪些列,显示选中行列的像素点,就是裁剪后的图像。imgCropped=img[200:400,200:400]
就是对原图进行裁剪,高从200到400,宽也从200到400,区间范围只要不超过它的高和宽即可。
img=cv2.imread("Resources/lambo.png") imgCropped=img[200:400,200:400] cv2.imshow("img",img) cv2.imshow("imgCropped",imgCropped) cv2.waitKey(0)
我们运行看下效果,左侧是623X462的原图,右侧是200X200的裁剪图:
我们将裁剪的图像放到原图上进行覆盖,可以拼成原图。
本节内容也是比较简单的,主要是让大家熟悉下OpenCV最基础的应用,为后面打下基础。眼过千遍不如手过一遍,快去动手敲一遍吧~💘
到此这篇关于Python OpenCV超详细讲解调整大小与图像操作的实现的文章就介绍到这了,更多相关Python OpenCV 图像操作内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!