opencv之remap() python

本文介绍了OpenCV的remap()函数,用于图像的重映射和变形操作,如翻转、扭曲等。通过设置插值算法和边界模式,可以实现各种图像变换。文中给出了使用remap()的代码示例,并探讨了如何结合仿射变换实现图像局部扭曲增强效果。
摘要由CSDN通过智能技术生成

一,remap()图像的重映射,可以把一幅图像中某位置的像素放置到另一个图片指定位置的过程。可以实现图像的变形,扭曲,反转等操作。实现图像数据的增强,提升深度模型的泛化能力。可以根据自己设定的函数将图像进行变换,较常见的功能有关于x轴翻转,关于y轴翻转,关于x、y轴翻转;(仿射变换在图像处理中的主要功能为:对图像进行缩放、旋转、平移、扭曲等)
二,为了完成映射过程, 我们需要获得一些插值为非整数像素的坐标,因为源图像与目标图像的像素坐标不是一 一对应的。
三,remap函数

def remap(src, map1, map2, interpolation, dst=None, borderMode=None, borderValue=None)

src是源图像数据,map1是用于插值的X坐标,map2是用于插值的Y坐标,interpolation是采用的插值算法。
支持的插值算法有:
INTER_NEAREST - 最近邻插值
INTER_LINEAR – 双线性插值(默认值)
INTER_CUBIC – 双三次样条插值(逾4×4像素邻域内的双三次插值)
INTER_LANCZOS4 -Lanczos插值(逾8×8像素邻域的Lanczos插值)
borderMode,边界模式,有默认值BORDER_CONSTANT,表示目标图像中“离群点(outliers)”的像素值不会被此函数修改。
borderValue,当有常数边界时使用的值,其有默认值Scalar( ),即默认值为0。

四,例子代码

def random_warp_rev(image, res=64):
    assert image.shape == (256,256,6)
    res_scale = res//64
    assert res_scale >= 1, f"Resolution should be >= 64. Recieved {res}."
    interp_param = 80 * res_scale
    interp_slice = slice
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值