前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >OpenCV图像处理(八)---图像缩放VS图像翻转

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

作者头像
用户5410712
发布2022-06-01 19:09:54
7380
发布2022-06-01 19:09:54
举报
文章被收录于专栏:居士说AI

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

前言

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

图像缩放

一、图像缩放简介

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

1.1 原始图片

1.2 代码实践

代码语言:javascript
复制
# 导入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 代码实践

代码语言:javascript
复制
# 导入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轴)。

结语

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-03-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT进阶之旅 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
图像处理
图像处理基于腾讯云深度学习等人工智能技术,提供综合性的图像优化处理服务,包括图像质量评估、图像清晰度增强、图像智能裁剪等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档