python+opencv图像处理(九)

图像缩放

下雨了。。。
图像是可以放大和缩小的,简称图像缩放。
不过不管放大还是缩小,都可以用resize.

1、缩小

如下图,左图为原图,中间图为将左图行和列均缩小一半的图,右图为缩小到四分之一的图。

(实验用原图来源于网络)

其代码如下:
import cv2 as cv
# 读入原图片
img = cv.imread('E:/image/res.jpg')
# 打印出图片尺寸
print(img.shape)
# 将图片高和宽分别赋值给x,y
x, y = img.shape[0:2]
# 显示原图
cv.imshow('OriginalPicture', img)
# 缩放到原来的二分之一,输出尺寸格式为(宽,高)
img_test = cv.resize(img, (int(y / 2), int(x / 2)))
# 打印出图片尺寸
print(img_test.shape)
# 显示图片
cv.imshow('resize', img_test)
test2=cv.resize(img,(int(y/4),int(x/4)))
print(test2.shape)
cv.imshow("1/4",test2)
cv.waitKey()
三张图片的尺寸分别为:
2、resize函数原型
(此部分来源于网络)
cv2.resize(InputArray src, OutputArray dst, Size, fx, fy, interpolation)
其中:
InputArray src输入图片
OutputArray dst输出图片
Size输出图片尺寸
fx, fy沿x轴,y轴的缩放系数
interpolation插入方式
interpolation 选项所用的插值方法:
INTER_NEAREST最近邻插值
INTER_LINEAR双线性插值(默认设置)
INTER_AREA使用像素区域关系进行重采样。
INTER_CUBIC4x4像素邻域的双三次插值
INTER_LANCZOS48x8像素邻域的Lanczos插值
3、放大
同样可通过resize对图像进行放大,如下图所示。
代码如下:
import cv2 as cv
img = cv.imread('E:/image/res.jpg')
cv.namedWindow('OriginalPicture',cv.WINDOW_FREERATIO)
cv.imshow('OriginalPicture', img)
print(img.shape)
w,h=img.shape[0:2]
test = cv.resize(img,((2*w,2*h)))
cv.namedWindow('resize',cv.WINDOW_FREERATIO)
cv.imshow("resize",img)
print(test.shape)
两张图片的大小分别为:
4、可调固定尺寸
只需:test = cv.resize(img,((400,600)))即可调成400*600的。
其尺寸大小为:
5、可调任意比例
代码如下:
import cv2 as cv
img = cv.imread('E:/image/she.jpg')
cv.namedWindow('OriginalPicture',cv.WINDOW_FREERATIO)
cv.imshow('OriginalPicture', img)
print(img.shape)
w,h=img.shape[0:2]
test = cv.resize(img,None,fx=1.5,fy=1.5,interpolation=cv.INTER_AREA)
cv.namedWindow('resize',cv.WINDOW_FREERATIO)
cv.imshow("resize",img)
print(test.shape)
其尺寸大小为:
(0)

相关推荐

  • 基于OpenCV的焊件缺陷检测

    重磅干货,第一时间送达 01. 简介 焊接缺陷是指焊接零件表面出现不规则.不连续的现象.焊接接头的缺陷可能会导致组件报废.维修成本高昂,在工作条件下的组件的性能显着下降,在极端情况下还会导致灾难性故障 ...

  • 好玩的OpenCV:图像操作的基本知识(2)

    1.1随机生成像素 生成与test.jpg相同大小图片,但是像素是随机生成的. import numpy as np import cv2raw_image = cv2.imread('test图片路 ...

  • OpenCV基础知识入门

    本文旨在让你快速入门opencv. OpenCV OpenCV是计算机视觉中最受欢迎的库,最初由intel使用C和C ++进行开发的,现在也可以在python中使用.该库是一个跨平台的开源库,是免费使 ...

  • 好玩的OpenCV:图片操作的基本知识(1)

    图像基本知识 图像是由像素组成的,而像素实际上就是带有坐标位置和颜色信息的点.我们把图片想象成由若干行,若干列的点组成的, 现实中有RGB颜色系统,我们可以把图中任意一点(位置在第m行,第n列)的点A ...

  • 快速指南:使用OpenCV预处理神经网络中的面部图像的

    重磅干货,第一时间送达 本期将介绍脸部检测.眼睛检测:图像拉直.裁剪.调整大小.归一化等内容 目前,涉及面部分类的计算机视觉问题,通常都需要使用深度学习.因此在将图像输入神经网络之前,需要经过一个预处 ...

  • 基于OpenCV的区域分割、轮廓检测和阈值处理

    重磅干货,第一时间送达 OpenCV是一个巨大的开源库,广泛用于计算机视觉,人工智能和图像处理领域.它在现实世界中的典型应用是人脸识别,物体检测,人类活动识别,物体跟踪等. 现在,假设我们只需要从整个 ...

  • OpenCV探索之路(五):图片缩放和图像金字塔

    对图像进行缩放的最简单方法当然是调用resize函数啦! resize函数可以将源图像精确地转化为指定尺寸的目标图像. 要缩小图像,一般推荐使用CV_INETR_AREA来插值:若要放大图像,推荐使用 ...

  • python+opencv图像处理(三十九)

    MSR 又一学期开学季,感觉好久没说过话了,多说一会儿这个嗓子有点儿受不了了,老天啊,救救我吧...或许,我应该去学一门说话艺术之类的课? 之前简单写过Retinex理论以及单尺度SSR. 今天要写的 ...

  • python+opencv图像处理(二十九)

    高斯滤波 迟到的节日祝福......  粽子节快乐,纪念伟大的屈原先生 (图片来源于网络) 高斯滤波是一种线性平滑滤波,对于消除高斯噪声有很好的效果,对于服从正态分布的噪声非常有效. 高斯滤波就是对整 ...

  • python+opencv图像处理(十九)

    视频的读入和显示 在图像处理中,视频处理是其中的重要一环,本篇介绍视频的读入和显示. 1.视频读入 Opencv中有自带的函数可以实现视频的读入和显示,代码如下: 视频其实也就是一帧一帧的图像,所以在 ...

  • python+opencv图像处理(四十四)

    童年记忆中的爆米花,小时候只在过年的时候才能吃到,现在偶尔能在路边看到有在爆的,看到了总忍不住想买,虽然味道没什么变化,只是再吃不出来以前的幸福了. 长大了......心也大了...... 可是,实力 ...

  • python+opencv图像处理(四十三)

    Luplacian算子 1.Luplacian算子 可以用二阶导数可以用来检测边缘,拉普拉斯算子是线性二阶微分算子. 2.Luplacian算子实现 在 OpenCV 中, 可以用函数Laplacia ...

  • python+opencv图像处理(四十二)

    Kirsch算子 1.Kirsch算子 Kirsch算子是R.Kirsch提出来一种边缘检测新算法,它采用8个模板对图像上的每一个像素点进行卷积求导数,这8个模板代表8个方向,对图像上的8个特定边缘方 ...

  • python+opencv图像处理(四十一)

    提前过了个万圣节,南瓜灯还蛮好看的,就是那些装鬼的有点吓人...... Scharr算子 1.Scharr算子 Scharr算子也是用于提取图像边缘的. 它是对Sobel算子差异性的增强,两者的原理和 ...

  • python+opencv图像处理(四十)

    Sobel算子  开头来张帅哥...... ----------------------这是严谨的分割线-------------------------- 1.Sobel算子(索贝尔算子) Sobe ...

  • python+opencv图像处理

    python+opencv图像处理(一)读入和显示图片 python+opencv图像处理(二)图像变换 python+opencv图像处理(三)彩色图像拆分与合并 python+opencv 图像处 ...