美文网首页
30. 图像移位

30. 图像移位

作者: 十里江城 | 来源:发表于2019-11-12 15:08 被阅读0次

通过api、算法原理和源码解释图像移位:

  • api实现
# api 算法 源码
import cv2
import numpy as np
img = cv2.imread('face.jpg', 1)
cv2.imshow('src', img)
imgInfo = img.shape
height = imgInfo[0]
width = imgInfo[1]
# 移位矩阵 水平(width)移动100像素 竖直y(height)方向移动200像素
matShift = np.float32([[1, 0, 100], [0, 1, 200]])  # 2*3
print('hello')
# 放射变换之wrapAffine
dst = cv2.warpAffine(img, matShift, (height, width))
cv2.imshow('dst', dst)
cv2.waitKey(0)
 

结果如下:


image.png
  • 算法原理
    23 -> 22 and 21
    [1, 0] [0, 1] A
    [[100], [200]] B
    xy C
    A
    C+B = [[x * 1 + 0 * y], [0 * x + 1 * y]] + [[100], [200]]
    = [[x +100], [y + 200]]
    (10, 20) -> (110, 220)

  • 源码实现

import cv2
import numpy as np
img = cv2.imread('face.jpg', 1)
cv2.imshow('src', img)
imgInfo = img.shape
dst = np.zeros((img.shape), np.uint8)
height = imgInfo[0]
width = imgInfo[1]
# 水平右移100像素 竖直下移200像素
for i in range(0, height - 200):
    for j in range(0, width - 100):
        dst[i + 200, j + 100] = img[i, j]
cv2.imshow('dst', dst)
cv2.waitKey(0)

结果如下:


image.png

相关文章

  • 30. 图像移位

    通过api、算法原理和源码解释图像移位: api实现 结果如下: 算法原理23 -> 22 and 21[1, 0...

  • opencv笔记(2):图像剪切和图像移位

    生活就像大海,我就像一条咸鱼,在浩瀚的海洋中边浪边学,这是opencv笔记系列中的「图像剪切」和「图像移位」。更多...

  • 常见位运算及技巧

    移位运算 移位运算包含逻辑移位(logical shif) 和 算术移位(arithmetic shift)。 逻...

  • 骨骼肌肉系统疾病(二)

    第三节 骨折 1.移位和成角:横向移位、断端嵌入、重叠移位、分离移位、旋转移位和成角。 2.疲劳骨折:好发于跖骨和...

  • CTF竞赛密码学之 LFSR

    概述: 线性反馈移位寄存器(LFSR)归属于移位寄存器(FSR),除此之外还有非线性移位寄存器(NFSR)。移位寄...

  • 移位

    带着咸味的潮湿 风从海面上吹来 将山里人的心吹出个海水皱褶 四方的荧屏 握在手心 心却为远方的你锁定 幸福的神往从...

  • 移位

    C/C++中的左移是逻辑左移:舍弃最高位,往最低位补零。如果舍弃的最高位是 1,则发生数值溢出。如果没有发...

  • 移位相减除法器

    移位相减除法器 基本算法 与使用移位相加实现加法一样,移位减法可以实现除法,基本算法如下描述 将除数向左移位直到比...

  • 2020-7-6晨间日记

    A day to say goodbye. 起床:5:30. 就寝:11:30. 天气:There are few...

  • 计算机组成原理定点数的运算

    1.定点数移位运算算数移位:正数:移位后添0负数:原码添零,补码左0右1,反码全部填1 逻辑移位:将操作数看作无符...

网友评论

      本文标题:30. 图像移位

      本文链接:https://www.haomeiwen.com/subject/dkcqictx.html