请选择 进入手机版 | 继续访问电脑版

[python] 超具体 解释 之OpenCV操作图像平移转换

[复制链接]
查看114 | 回复12 | 2021-9-13 12:48:23 | 显示全部楼层 |阅读模式

这篇博客将先容 怎样 利用 Python,OpenCV对图像举行 平移转换。平移是图像沿x轴和y轴的移动。利用 平移,可以将图像上下左右移动,以及上述恣意 组合。要利用 OpenCV平移图像,只需3步:

  1. 从磁盘加载图像
  2. 定义仿射变换矩阵
  3. 应用cv2.warpAffine仿射函数来实行 平移

1. 效果 图

用了颖宝明兰的新娘图片来演示效果 ~,喜好 这张图的缘故因由 ,是这里有一首经典的催妆诗,

《催妆诗》
金车欲上怯东风,排云见月醉酒空。
独自仙姿羞半吐,冰瓷露白借微红。

原图如下:

在这里插入图片形貌

向右向下平移图 VS 向上向左平移图 VS 向下平移效果 图如下:

在这里插入图片形貌

2. 原理

转化矩阵

  1. M = np.float32([
  2. [1, 0, shiftX],
  3. [0, 1, shiftY]
  4. ])
复制代码

转换矩阵M被定义为浮点数组。 矩阵的第一行是[1,0,t{x}],此中 t{x}是将图像向左或向右移动的像素数。t{x}的负值将使图像向左移动,正值将使图像向右移动。 矩阵的第二行定义为[0,1,t{y}],此中 t{y}是将图像上下移动的像素数。t{y}的负值将使图像上移,正值将使图像下移。

3. 源码

  1. # 对图像进行平移
  2. # USAGE
  3. # python opencv_translate.py
  4. import argparse
  5. import cv2
  6. import imutils
  7. # 导入必要的包
  8. import numpy as np
  9. # 构建命令行参数及解析
  10. # --image 输入图像路径
  11. ap = argparse.ArgumentParser()
  12. ap.add_argument("-i", "--image", type=str, default="ml.jpg",
  13. help="path to the input image")
  14. args = vars(ap.parse_args())
  15. # 从磁盘加载图像并显示
  16. image = cv2.imread(args["image"])
  17. image = imutils.resize(image, width=300)
  18. cv2.imshow("Original", image)
  19. # 将图像向右移动25像素,像下移动50像素
  20. M = np.float32([[1, 0, 25], [0, 1, 50]])
  21. shifted = cv2.warpAffine(image, M, (image.shape[1], image.shape[0]))
  22. cv2.imshow("Shifted Down and Right", shifted)
  23. # 修改图像向左移动50像素,向上移动90像素
  24. M = np.float32([[1, 0, -50], [0, 1, -90]])
  25. shifted = cv2.warpAffine(image, M, (image.shape[1], image.shape[0]))
  26. cv2.imshow("Shifted Up and Left", shifted)
  27. # 用一行代码实现平移——imutils.translate
  28. shifted = imutils.translate(image, 0, 100)
  29. cv2.imshow("Shifted Down", shifted)
  30. cv2.waitKey(0)
  31. cv2.destroyAllWindows()
复制代码

参考

到此这篇关于超详细 表明 之OpenCV操作图像平移转换的文章就先容 到这了,更多相干 OpenCV图像平移转换内容请搜索 脚本之家从前 的文章或继续欣赏 下面的相干 文章盼望 大家以后多多支持脚本之家!


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

avatar 十年2017 | 2021-9-13 20:09:48 | 显示全部楼层
缺乏激情了!
回复

使用道具 举报

avatar 八块田确 | 2021-9-18 04:48:21 | 显示全部楼层
我只是来赚积分的!
回复

使用道具 举报

avatar 计儿坏 | 2021-9-20 18:53:24 | 显示全部楼层
系统居然说我是在灌水,我有吗?
回复

使用道具 举报

avatar 信森好帝 | 2021-10-5 04:46:17 | 显示全部楼层
我对admin楼主的敬仰犹如滔滔江水绵延不绝!
回复

使用道具 举报

avatar 因醉鞭名马幌 | 2021-10-7 07:29:24 | 显示全部楼层
以后就跟admin楼主混了!
回复

使用道具 举报

avatar 侬去斯 | 2021-10-7 19:33:14 | 显示全部楼层
看了这么多帖子,第一次看到这么高质量内容!
回复

使用道具 举报

avatar 天使粉粉魏 | 2021-10-9 12:09:43 | 显示全部楼层
精神病院在通缉admin楼主!
回复

使用道具 举报

avatar 荷叶224 | 2021-10-10 00:06:26 | 显示全部楼层
经典!
回复

使用道具 举报

avatar 阿阳937 | 2021-10-10 14:09:28 | 显示全部楼层
看了这么多帖子,第一次看看到这么有内涵的!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则