python中的图像旋转和仿射变换

python图像的读取,保存,复制操作:https://blog.csdn.net/qq_40962368/article/details/80444144

python中实现图像旋转的代码如下(亲测,可执行)

#coding=utf-8
import cv2
import numpy as np

img=cv2.imread('cat.jpg')
print(img.shape)
rows,cols,channel=img.shape

M=cv2.getRotationMatrix2D(((cols-1)/2.0,(rows-1)/2.0),180,1)

dst=cv2.warpAffine(img,M,(cols,rows))
#仿射变换其三个参数分别为:输入图像,变换矩阵,输出图像大小

cv2.imshow('img',img)
cv2.imshow('dst',dst)
cv2.waitKey(0)
cv2.destroyAllWindows()

2. 关于getRotationMatrix2D()函数解释入下:

cv2.getRotationMarix2D(point2f center,double angle,double scale)
参数分别为:旋转中心,旋转角度,图像缩放因子

3. 关于warpAffine()函数解释如下:

官方参数: cv2.warpAffine(src, M, dsize, dst, flags, borderMode, borderValue)

其中, src:输入图像

M:变换矩阵 (反映平移或者旋转的关系)

dsize:输出图像的大小

flags:插值方式(默认为flags=cv2.INTER_LINEAR,表示线性插值,,此外还有cv2.INTER_NEAREST(最近邻插值),_CUBIC(三次样条插值)等等)

borderMode:边界像素模式

borderValue: 边界填充值(输入类似为(255,255,255)这样形式的三个值,默认情况下它是黑色0)

注意:平时使用的时候,在只设置前三个参数的情况下,可以实现基本的放射变换效果.但是会出现有黑边情况. 因为最后一个参数默认是黑色,可以根据图片自己调整边界填充颜色. python中的函数变量可以不按照顺序设置.

如:cv2.warpAffine(img,M,(length,length),borderValue=(255,255,255))

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值