OpenCV图像处理(八)---图像缩放VS图像翻转

       牛顿第三运动定律的常见表述是:相互作用的两个物体之间的作用力和反作用力总是大小相等,方向相反,作用在同一条直线上。该定律是由艾萨克·牛顿在1687年于《自然哲学的数学原理》一书中提出的。牛顿第三运动定律和第一、第二定律共同组成了牛顿运动定律,阐述了经典力学中基本的运动规律。                             

科普

知识

前言

     今天又是周六了,不知不觉夏天的气息已经来了,大家有出去兜风吗?在上一期的文章中,我们学习了图像处理的平移和旋转知识,并且用代码进行了实践,今天,我们将学习图像处理的有一个篇章:图像缩放和图像翻转,往下看!

图像缩放

一、图像缩放简介

     图像缩放,顾名思义 就是将图像按照一定比例进行大小的缩放,当然这个大小指的是图像的分辨率,例如640X480等等。

1.1 原始图片

1.2 代码实践

# 导入opencv包
import cv2
# 导入numpy包进行科学运算
import numpy as np
# opencv读取图片数据
img = cv2.imread('test01.jpg')


# 获取图像的高度和宽度 
img_height = img.shape[0]
img_width = img.shape[1]
print("图像宽度为:{}\n 图像高度为:{}".format(img_width,img_height))


# 定义缩放后图像的大小
new_size = (250,250)
# 调用cv2.resize函数进行图像缩放
new_image = cv2.resize(img, new_size)


new_image_height = new_image.shape[0]
new_image_width = new_image.shape[1]
print("-------------------------------------------------------------")
print("缩放后图像宽度为:{}\n缩放后图像高度为:{}".format(new_image_width,new_image_height))


# 显示原始图像 与新图像进行对比
cv2.imshow("img", img)


# 显示原始图像 与新图像进行对比
cv2.imshow("new_image", new_image)
cv2.waitKey(0)

代码解读:上面的代码中,主要用到了cv2.resize这个函数,该函数常用的就两个参数,第一个是传入的图像数据,第二个是缩放后图像的大小,可以提前指定也可以在调用函数时指定新图像的大小,当然该函数也有其他几个缺省参数,包括缩小的方式,感兴趣的朋友可以查查API函数解读哦。

1.3 演示效果

由此 可以看到,图像已经被缩小了,仔细观察的话会发现 清晰度还是蛮可以的。

图像翻转

二、图像翻转简介

       图像翻转 所实现的功能是,将图像的视觉位置进行颠倒,其实也就是对称,具体的我们下面看实例哦。

2.1 原始图像

2.2 代码实践

# 导入opencv包
import cv2
# 导入numpy包进行科学运算
import numpy as np
# opencv读取图片数据
img = cv2.imread('test02.jpg')


# 复制三幅图像 用于后面的翻转
img1 = img.copy()
img2 = img.copy()
img3 = img.copy()


# 获取图像的高度和宽度 
img_height = img.shape[0]
img_width = img.shape[1]
print("图像宽度为:{}\n 图像高度为:{}".format(img_width,img_height))


# 1 水平翻转 Horizontally


# 0 垂直翻转 *Vertically


# -1 同时水平翻转与垂直反转 Horizontally & Vertically


# 实现水平翻转
fz_1 = cv2.flip(img1, 1)
# 显示
cv2.imshow("fz_1", fz_1)


# 垂直翻转
fz_2 = cv2.flip(img2, 0)
cv2.imshow("fz_2", fz_2)


# 同时水平翻转与垂直反转


fz_3 = cv2.flip(img3, -1)
cv2.imshow("fz_2=3", fz_3)


# 显示原始图像 与新图像进行对比
cv2.imshow("img", img)
cv2.waitKey(0)

代码解读:代码中,进行实际操作的是cv2.flip()函数,同样的是两个参数,一个是输入图像,另一个是翻转的方式(水平,垂直,水平垂直),因此,我们主要理解函数的输入参数 就可以很快的实现图像翻转的功能了。

2.3 显示效果

如图所示,我们图像翻转其实就是一种对称方式(关于X或Y轴)。

结语

       好了,今天的分享结束了,我们的代码很简单哦,只要会调用 ,就能实现相应的功能,花费的时间也很短,切记下去进行实践操作哦,另外,如果大家还有什么想学习的图像处理技术,也欢迎大家后台回复哦,我们下期再会!

编辑:玥怡居士|审核:小圈圈居士

往期精彩回顾

【图像篇】OpenCV图像处理(七)---图像平移VS图像旋转

【图像篇】OpenCV图像处理(六)---图像混合VS按位运算

【图像篇】OpenCV图像处理(五)---图像的色彩空间

我就知道你“在看”

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值