IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> python图像几何变换 -> 正文阅读

[人工智能]python图像几何变换

在这里插入图片描述

图像的平移

图像平移(Translation)是将图 像中所有的点都按照指定的平移量,进行水平、垂直移动。
在这里插入图片描述
在这里插入图片描述

x=self.trans.x
y=self.trans.y
# img[x:h-1,y:w-1]=image[0:h-1-x,0:w-1-y]
for j in range(h):
    for i in range(w):
        i0=i+x
        j0=j+y
        if(i0>=0) and (i0<w) and (j0>=0)and (j0<h):
            img[j0,i0]=image[j,i]

图像镜像变换

图像的镜像变换分为两种:一种是水平镜像,另一种是垂直镜像。
图像的水平镜像操作是以原图像的垂直中轴线为中心,将图像分为左右两部分进行对称变换;
图像的垂直镜像操作是以原图像的水平中轴线为中心,将图像分为上下两部分进行对称变换。
镜像变换后图的高和宽都不变。

水平镜像
在这里插入图片描述
垂直镜像
在这里插入图片描述

   for j in range(h):
       for i in range(w):
           img[j,i]=image[j,w-1-i]
   XImage.imShow(img, self.lb_2)
   
   for j in range(h):
    	for i in range(w):
        	img[j, i] = image[h-1-j,i]
   XImage.imShow(img, self.lb_2)

图像缩放

在这里插入图片描述
在这里插入图片描述

  image = self.image.xBitmap.img_org
  h, w, c = image.shape
  # 转置影响宽和高
  ax = self.zoom.x
  ay = self.zoom.y
  aH = int(ay * h)
  aW = int(ax * w)
  out = np.zeros((aH, aW, c), dtype=np.uint8)
  for y in range(aH):
      for x in range(aW):
          x0 = int(x / ax)
          y0 = int(y / ay)
          out[y, x] = image[y0, x0]
  XImage.imShow(out, self.lb_2)

图像旋转

图像旋转必须指明图像绕着什么旋 转。一般图像的旋转是以图像的中心为原点,旋转一定的角度。 旋转后,一般会改变图像的大小。

理论链接:https://blog.csdn.net/imxlw00/article/details/118207971
在这里插入图片描述

在这里插入图片描述

# 绕中心的旋转
 def rotate(self,img, angle):
     H, W, C = img.shape
     anglePi = angle * math.pi / 180.0
     cosA = math.cos(anglePi)
     sinA = math.sin(anglePi)
     out = np.zeros((H, W, C), dtype=np.uint8)  # 必须是8 不然显示不出图像
     for y in range(H):
         for x in range(W):

             x0 = int(cosA * x - sinA * y - 0.5 * W * cosA + 0.5 * H * sinA + 0.5 * W)
             y0 = int(sinA * x + cosA * y - 0.5 * W * sinA - 0.5 * H * cosA + 0.5 * H)
             if 0 < x0 < W and 0 < y0 < H:  # 计算结果是这一范围内的x0,y0才是原始图像的坐标。
                 out[y0, x0] = img[y, x]

     return out
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-09-26 10:10:08  更:2021-09-26 10:11:22 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 12:36:54-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码