opencv图像转换

获取仿射矩阵
方程法:
cv2.getAffineTransform(src,dst)
参数:
src:二维矩阵,3对原始坐标,必须float
dst:二维矩阵,3对转换坐标,必须float
矩阵法:
cv2.getRotationMatrix2D(center,angle,scale)
中心坐标,角度,缩放比例
cv2.warpAffine(src, M, dsize[, dst[, flags[, borderMode[, borderValue]]]])
参数说明
对于图像缩放,不需要放射矩阵
resieze(str,dst,dsize,fx,fy,interpolation)
参数:
src:输入图像矩阵
dst:输出图像矩阵
dsize:(w,h)
fx:水平缩放
fy:垂直缩放
插值法
顺时针旋转90,180,270
cv2.rotate(src,dst,rotatecode)
参数:
src,dst 输入出图像

import numpy as np
import cv2,sys,math
image = cv2.imread('E:\\sy2\\3\\img.jpg',cv2.IMREAD_GRAYSCALE)

#cv2.imwrite('E:\\sy2\\3\\img1.jpg',image)
#原图高宽
h,w = image.shape[:2]#注意返回值高,宽
#缩小2倍
A1 = np.array([[0.5,0,0],[0,0.5,0]],np.float32)
d1 = cv2.warpAffine(image,A1,(w,h),borderValue=125)
#先缩小2倍,再平移
A2 = np.array([[0.5,0,w/4],[0,0.5,h/4]],np.float32)
d2 = cv2.warpAffine(image,A2,(w,h),borderValue=125)
#绕中心点旋转
A3 = cv2.getRotationMatrix2D((w/2.0,h/2.0),30,1)
d3 = cv2.warpAffine(d2,A3,(w,h),borderValue=125)
cv2.imshow('image',image)
cv2.imshow('d1',d1)
cv2.imshow('d2',d2)
cv2.imshow('d3',d3)
cv2.waitKey(0)
cv2.destroyAllWindows()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值