【OpenCV 例程200篇】32. 图像的扭变(错切)

『youcans 的 OpenCV 例程200篇 - 总目录』


【youcans 的 OpenCV 例程200篇】32. 图像的扭变(错切)


图像的错切变换也称斜切,是指平面景物在投影平面上的非垂直投影,使图像中的图形在水平方向或垂直方向产生扭变。

以水平扭变为例,像素点 (x,y) 在水平方向发生扭变变成斜边,而在垂直方向的边不变,可以由以下公式描述:
[ x ~ y ~ 1 ] = M A S [ x y 1 ] , M A S = [ 1 t a n θ 0 0 1 0 0 0 1 ] \begin{bmatrix} \tilde{x}\\ \tilde{y}\\ 1 \end{bmatrix} = M_{AS} \begin{bmatrix} x\\ y\\ 1 \end{bmatrix} ,\hspace{1em} M_{AS} = \begin{bmatrix} 1 &tan \theta &0\\ 0 &1 &0\\ 0 &0 &1 \end{bmatrix} x~y~1=MASxy1,MAS=100tanθ10001

由扭变角度 θ上式构造错切变换矩阵 MAS,由函数 cv2.warpAffine 可以计算变换后的扭变图像。


基本例程:1.41 图像的错切

    # 1.41 图像的错切
    img = cv2.imread("../images/imgB2.jpg")  # 读取彩色图像(BGR)
    height, width = img.shape[:2]  # 图片的高度和宽度

    MAS = np.float32([[1, 0.2, 0], [0, 1, 0]])  # 构造错切变换矩阵
    imgShear = cv2.warpAffine(img, MAS, (width, height))

    plt.figure(figsize=(9,6))
    plt.subplot(121), plt.imshow(cv2.cvtColor(img, cv2.COLOR_BGR2RGB)), plt.title("imgOrigin")
    plt.subplot(122), plt.imshow(cv2.cvtColor(imgShear, cv2.COLOR_BGR2RGB)), plt.title("imgShear")
    plt.show()

在这里插入图片描述



(本节完)


版权声明:
youcans@xupt 原创作品,转载必须标注原文链接:(https://blog.csdn.net/youcans/article/details/125112487)
Copyright 2022 youcans, XUPT
Crated:2021-11-18

【第3章:图像的几何变换】

31. 图像金字塔(cv2.pyrDown)
32. 图像的扭变(错切)
33. 图像的复合变换

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

youcans_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值