zoukankan      html  css  js  c++  java
  • python-opencv-图像的平移

    图像平移的基本概念 

    图像平移指的是将图像按水平方向或竖直方向上进行移动,其本质就是将图像中的所有像素点都按照给定的平移量进行水平方向或竖直方向上的移动。

    例如,我们将图像在水平方向上平移w,在竖直方向上平移h,那么图像中初始坐标为(x.y)的像素点在经过平移后对应的坐标就变成了(x+w,y+h)。

    import numpy as np
    import cv2
    
    img = cv2.imread("3.jpg")
    cv2.imshow("yuan", img)
    img_info=img.shape
    height=img_info[0]
    width=img_info[1]
    
    mat_translation=np.float32([[1,0,20],[0,1,50]])  #变换矩阵:设置平移变换所需的计算矩阵:2行3列
    #[[1,0,20],[0,1,50]]   表示平移变换:其中20表示水平方向上的平移距离,50表示竖直方向上的平移距离。
    dst=cv2.warpAffine(img,mat_translation,(width+20,height+50))  #变换函数
    '''
    参数2 变换矩阵:是一个2行3列的矩阵,由这个矩阵决定是何种变换
    参数3 变换后输出图像的大小:(width+20,height+50)-->宽和高(自己规定)
    参数4 可选参数,用于设置插值方法的组合,默认为INTER_LINEAR使用线性插值算法,除了图像缩放中用到的几个插值算法外,仿射变换还可以选用
    INTER_LANCZOS4(Lanczos插值算法)。
    参数5 borderValue:可选参数,在边界不变的情况下可以使用的值,主要用于设置边界的填充值,默认为0
    '''
    cv2.imshow('dst',dst)
    
    
    cv2.waitKey(0)

    效果图

  • 相关阅读:
    Centos7安装vsftpd
    Centos7安装FTP突然无法登录
    关于limit_req和limit_conn的区别
    linux nginx大量TIME_WAIT的解决办法--转
    discuz过滤词语无效
    XMReport相关视频资料
    XMReport富文本编辑器上线啦!!! 小小莫_6ada
    mysql/mybatis insertBatch插入速度太慢了
    TCP学习笔记
    Apache Derby ij下面连接Embedded数据库
  • 原文地址:https://www.cnblogs.com/liming19680104/p/12213516.html
Copyright © 2011-2022 走看看