3h精通OpenCV(三)-重调大小与图像裁剪

简介: 3h精通OpenCV(三)-重调大小与图像裁剪

0、准备工作

右击新建的项目,选择Python File,新建一个Python文件,然后在开头import cv2导入cv2库。

image.png

我们还要知道在OpenCV中,坐标轴的方向是x轴向右,y轴向下,坐标原点在左上角,比如下面这张长为640像素,宽为480像素的图片。OK,下面开始本节的学习吧。


image.png

1、查看图像大小

调用imread()方法获取我们资源文件夹中的图片lambo.png

输出图像的shape属性

img=cv2.imread("Resources/lambo.png")
print(img.shape)

我们来看下效果:

image.png


上图中462是图像的高度,也就是y轴;

623是图像的宽度,也就是x轴;

3是通道数,BGR(蓝绿红)通道


2、重新调整图像大小

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)

我们来运行一下,可以看到右侧是调整后的图像,明显宽和高都比原图小:

image.png

来看下控制台的输出,和图像大小是一样的:

image.png


3、图像裁剪

图像裁剪其实就是对矩阵进行截取,选哪些行哪些列,显示选中行列的像素点,就是裁剪后的图像。

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的裁剪图:

image.png

我们将裁剪的图像放到原图上进行覆盖,可以拼成原图。

image.png


第三节的内容也是比较简单的,主要是让大家熟悉下OpenCV最基础的应用,为后面打下基础。眼过千遍不如手过一遍,快去动手敲一遍吧~💘

目录
相关文章
|
计算机视觉 Python
3h精通OpenCV(六)-图像堆叠
3h精通OpenCV(六)-图像堆叠
139 0
3h精通OpenCV(六)-图像堆叠
|
计算机视觉 Python
3h精通OpenCV(四)-绘制形状与文本
3h精通OpenCV(四)-绘制形状与文本
121 0
3h精通OpenCV(四)-绘制形状与文本
|
资源调度 计算机视觉 Python
3h精通OpenCV(二)-基本功能
3h精通OpenCV(二)-基本功能
208 0
3h精通OpenCV(二)-基本功能
|
计算机视觉 Python
3h精通OpenCV(一)- 读取图像视频与网络摄像头
3h精通OpenCV(一)- 读取图像视频与网络摄像头
279 0
3h精通OpenCV(一)- 读取图像视频与网络摄像头
|
IDE 开发工具 计算机视觉
3h精通OpenCV(零)- 环境配置
3h精通OpenCV(零)- 环境配置
132 0
3h精通OpenCV(零)- 环境配置
|
13天前
|
计算机视觉 Python
轻松掌握opencv的8种图像变换
轻松掌握opencv的8种图像变换
|
14天前
|
算法 计算机视觉
【OpenCV】- 图像修复
【OpenCV】- 图像修复
|
14天前
|
Serverless 计算机视觉
【OpenCV】-图像的矩
【OpenCV】-图像的矩
|
14天前
|
编解码 物联网 计算机视觉
【OpenCV】—图像金子塔与图片尺寸缩放
【OpenCV】—图像金子塔与图片尺寸缩放
|
14天前
|
前端开发 计算机视觉 C++
【OpenCV】—分离颜色通道、多通道图像混合
【OpenCV】—分离颜色通道、多通道图像混合