python图像降采样,【图像处理】——改变图像的大小(降采样&重采样)

目录

我们常常需要将图片变成一样大小的图片,这样利于整理和批量操作,这时候就需要使用到调整图像的大小了

这里需要使用到的是重采样和降采样,重采样用在拉伸图像上,增加的像素点的像素值是通过插值法来得到的,最常用的方法就是将接近的像素点的值复制过去;降采样就是缩小图片时按照一定的距离进行选取像素点

先看看图片的大小:

import cv2

image=cv2.imread('C:/……/a.jpg')

a = image.shape

print(a)

其中,a[0]=371表示图片高度,a[1]=500表示图片宽度,a[2]=3表示图片是3通道图片。

18b845e9363da5a1415898f838e40236.png

1、拉伸图片——重采样

改变图片大小为500像素高度和371像素的宽度:

p0=cv2.resize(image,(371,500),interpolation=cv2.INTER_CUBIC)

这样,图片比例被破坏了,感觉恐龙被上下拉长了。

c00577341ac0a195ab8018dd80a2d54d.png

2、缩小图片

缩放图片的大小,需要增加或删除某些像素。但是,增加的像素的像素值,不能凭空产生,需要根据临近像素值,近似地给出增加的像素的值。

1)三次插值法cv2.INTER_CUBIC

如果需要按比例缩放图片,可以这样:

p1=cv2.resize(image,(int(a[1]/1.5),int(a[0]/1.5)),

interpolation=cv2.INTER_CUBIC)

c6d42d888f79b9592e7ba3de5a967042.png

2)重采样插值法cv2.INTER_AREA

给增加的像素赋值,需要用插值的方法。而这种方法并不唯一。比如,上面介绍了三次插值法(cv2.INTER_CUBIC)和重采样插值法(cv2.INTER_AREA)。

p2=cv2.resize(image,(int(a[1]/1.5),int(a[0]/1.5)),

interpolation=cv2.INTER_AREA)

5ba1e231e907f030518e16c389cf78af.png

3)上面两种方法的差值

你可能觉得p1和p2是一样的,但不是:

cv2.imshow('a',p1-p2)

cv2.waitKey(0)

c3a36af41d52ac08e2bce4e1ce49371b.png

### 降采样的定义与应用场景 #### 定义 降采样是指将原始数据的规模缩小的过程,具体表现为降低图像分辨率、减少时间序列数据点数或者压缩点云数据密度等操作。这种技术的核心在于保留重要信息的同时去除冗余部分,从而简化后续分析或处理的工作量[^1]。 --- #### 图像领域中的降采样 在计算机视觉中,特别是使用OpenCV库时,`cv::pyrDown` 是一种典型的降采样方法,它能够有效地将一幅图像的高度和宽度各缩减一半,即总面积变为原来的四分之一。此功能对于构建图像金字塔特别有用,允许算法在同一场景的不同尺度下寻找特征。 ```python import cv2 image = cv2.imread('example.jpg') downsampled_image = cv2.pyrDown(image) ``` 上述代码片段展示了一个基本的例子,其中 `cv::pyrDown` 被用来创建一张更小版本的图片副本[^1]。 --- #### 时间序列数据分析中的降采样 针对时间序列型数据集,如金融交易记录或是传感器监测日志,Pandas 提供了一套灵活高效的工具链来进行周期性汇总——也就是所谓的重采样(resampling),其中包括降采样操作。例如,我们可以按天/小时级别聚合分钟级股票价格变动情况,并自定义统计逻辑以应对特殊需求,比如忽略异常值的影响[^2]。 ```python import pandas as pd df = pd.read_csv('stock_prices.csv', parse_dates=['timestamp'], index_col='timestamp') # 自定义降采样函数 def custom_mean(x): filtered_x = x[x.between(x.quantile(0.1), x.quantile(0.9))] return filtered_x.mean() daily_summary = df['price'].resample('D').apply(custom_mean) ``` 这里演示了如何运用 Pandas 的 resample 方法配合用户指定回调函数实现更加精细控制的时间维度缩放行为[^2]。 --- #### 点云数据管理中的降采样 随着三维扫描设备普及率日益提高,海量点云集成了越来越多科研项目的基础素材。然而庞大的数据体量往往成为阻碍实时渲染性能提升以及深入挖掘潜在价值的主要瓶颈之一。因此有必要引入诸如体素网格过滤这样的降采样手段来削减不必要的细节层次,同时维持宏观形态不失真[^3]。 另外值得注意的是,在自动驾驶感知系统里,来自 LiDAR 所捕捉到密集分布的目标轮廓同样适合采取类似的优化措施以便于快速分类识别周围障碍物类别属性等等[^4]。 --- ### 总结 综上所述,无论是在二维平面图形表现还是高维抽象表达形式当中,适当程度上的降采样都能够显著改善资源利用率指标并且增强最终成果质量评价标准得分。不过需要注意的是每次执行此类变换之前都应当充分考虑特定业务背景约束条件以免造成不可逆损失风险。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值