3D图像线性插值算法实现

  1. 三线性插值原理
    三线性插值原理与双线性插值原理类似,双线性插值是根据周围四个点计算得到新的插值点,三线性插值是对一个立方体中周围8个顶点进行计算。


1)首先在x轴上进行插值,根据以下公式分别求出4个边上的点C00,C01,C10,C11

2)在y轴上进行插值,根据一下公式得到C0和C1点

3)最后在z轴上进行插值

其中xd, yd,zd是指偏移量,与x,y,z较小的坐标有关。xd = x - |xd|
实际上三线性插值等同于两个双线性插值与线性插值的组合。当前这样计算起来很麻烦,所以使用另一个方案进行编写插值算法。

  1. 替代算法

    求解方程线性找到系数
    直接看结果吧,反正我也推不出来
  2. 算法实现
import numpy as np
import mathdef Interpolation3D(src_img, dst_size):#srcImage原3d图像,dst_size插值后图像的大小srcZ, srcY, srcX = src_img.shape   #原图图像大小dst_img = np.zeros(shape = dst_size, dtype = np.int16)  #插值后的图像new_Z, new_Y, new_X = dst_img.shape  #print("插值后图像的大小", dst_img.shape)factor_z = srcZ / new_Zfactor_y = srcY / new_Yfactor_x = srcX / new_Xfor z in range(new_Z):for y in range(new_Y):for x in range(new_X):src_z = z * factor_zsrc_y = y * factor_ysrc_x = x * factor_xsrc_z_int = math.floor(z * factor_z)src_y_int = math.floor(y * factor_y)src_x_int = math.floor(x * factor_x)w = src_z - src_z_intu = src_y - src_y_intv = src_x - src_x_int# 判断是否查出边界if src_x_int + 1 == dimX or src_y_int + 1 == dimY or src_z_int + 1 == dimZ:dst_img[z, y , x] = src_img[src_z_int, src_y_int, src_x_int]else:C000 = src_img[src_z_int, src_y_int, src_x_int]C001 = src_img[src_z_int, src_y_int, src_x_int + 1]C011 = src_img[src_z_int, src_y_int + 1, src_x_int + 1]C010 = src_img[src_z_int, src_y_int + 1, src_x_int]C100 = src_img[src_z_int + 1, src_y_int, src_x_int]C101 = src_img[src_z_int + 1, src_y_int, src_x_int + 1]C111 = src_img[src_z_int + 1, src_y_int + 1, src_x_int + 1]C110 = src_img[src_z_int + 1, src_y_int + 1, src_x_int]dst_img[z ,y ,x] = C000 * (1 - v)* (1 - u) * (1 - w) + \C100 * v * (1 - u) * (1 - w) + \C010 * (1- v) * u * (1 - w) + \C001 * (1 - v) * (1 - u) * w + \C101 * v * (1 - u) * w + \C011 * (1 - v) * u * w + \C110 * v * u * (1 - w) + \C111 * v * u * wreturn dst_img

完整代码请查看https://download.csdn.net/download/weixin_42795611/13766968

3D图像线性插值算法实现相关推荐

  1. 线性插值算法实现图像_C程序实现插值搜索算法

    线性插值算法实现图像 Problem: 问题: We are given an array arr[] with n elements and an element x to be searched ...

  2. 用线性插值算法实现图像缩放

    用线性插值算法实现图像缩放 猛禽[Mental Studio](个人专栏)(BLOG) http://mental.mentsu.com 在Windows中做过图像方面程序的人应该都知道Windows ...

  3. 虚拟在左,真实在右:德国学者用AI合成一亿像素逼真3D图像,可任意旋转

    来源:AI科技评论 编译:杏花 编辑:青暮 近日,来自德国埃尔兰根-纽伦堡大学的学者提出了一种新颖的神经网络方法,用于3D图像的场景细化和新视图合成. 只需要输入点云和相机参数的初始估计,就可以输出由 ...

  4. GAN能生成3D图像啦!朱俊彦团队公布最新研究成果

    晓查 发自 凹非寺 量子位 出品 | 公众号 QbitAI GAN现在可以合成3D图像了! 最近,MIT计算机科学与AI实验室的朱俊彦团队,发表了一篇论文<Visual Object Netwo ...

  5. bayer插值算法(3):高质量线性插值算法

    目录 前言 插值算法 高质量插值算法 代码示例 前言 相机生成的图像一般是bayer阵列的raw图,这时候如果转换成我们需要的rgb图像,就需要对应的bayer插值算法将丢失的rgb信息通过算法补齐 ...

  6. html 3d立体阴影效果图,CSS3打造带阴影的旋转3D图像

    CSS3打造带阴影的旋转3D图像 Sponsor CSS3可以实现很多创新好玩的交互效果,正如今天将和大家介绍的3D旋转图像,效果很漂亮,这个旋转图像的特别之处就是支持阴影旋转和兼容响应式网页设计,使 ...

  7. 欧拉角与四元数互转,及四元数slerp球面线性插值算法

    欧拉角与四元数互转,及四元数slerp球面线性插值算法 1. 欧拉角与四元数是什么? 2. 源码 2.1 欧拉角类 2.2 四元数类 2.3 欧拉角与四元数互转及球面线性插值算法 参考 1. 欧拉角与 ...

  8. 听声辨位过时了!这个AI系统仅凭光回声就能得到3D图像

    机器之心报道 编辑:魔王.蛋酱 借助光回声获得时间信息,利用机器学习从看似噪声的信息中挖掘模式.这项研究登上光学期刊 Optica.‍ 利用光回声和机器学习制作 3D 影像(左),右图来自 3D 相机 ...

  9. 在WPF中将图片转换成3D图像并可以旋转

    原文:在WPF中将图片转换成3D图像并可以旋转 时光偷走的,永远都是我们眼皮底下看不见的珍贵. https://pan.baidu.com/s/14dk-OU2SR0nxXj2bL4bVpQ 首先先看 ...

  10. python绘制可多角度查看的3d图像

    用鼠标拖动可多角度查看3d图像. # Enable interactive rotation of graph %matplotlib notebookimport numpy as np impor ...

最新文章

  1. 我又来定计划了~2015-8至年底
  2. 2015.08.15冒泡排序
  3. Xcode 9.0 新增功能大全
  4. 排除MySQL中常见错误的实用招术
  5. 全球最顶级的电脑配置_全球最顶级外汇交易员,非这10位莫属
  6. 【干货】10000个抖音短视频红人通讯录.pdf(附下载链接)
  7. [paper reading] ResNet
  8. 解压缩 tar命令详解
  9. dmp(dump)转储文件
  10. [转载][翻译]偿还技术债 - 通过重构拯救老代码
  11. 计算机硬盘替换,如何更换笔记本电脑硬盘?
  12. BingObjectnessCVPR14源码编译环境由vs2012+64位转换为vs2012+32位机过程
  13. c语言地址有什么作用是什么,C语言中取地址运算符是什么?
  14. 放大、缩小chm文件字体的方法
  15. Chpater2.3 执行AD HOC命令
  16. SimpleMind的使用方法及思维导图压缩包的使用方法
  17. 根据年月日判断该日是这一年的多少天 C语言
  18. 百度云在线播放视频设置倍速播放
  19. 任意门怎么用团发_衣柜门选用什么材料好?小编在这里告诉你!
  20. 机器视觉学习笔记(七)——灰度分析与变换(基于LabVIEW)

热门文章

  1. 云计算环境下的服务器虚拟化技术,云计算技术与应用:虚拟化技术_服务器虚拟化.pdf...
  2. python pdf转图片
  3. c语言中输出以e为底的指数,c语言中以e为底的指数怎么表示 c++中怎样表示以e为底的...
  4. overflow:atuo;隐藏滚动条
  5. 将自己的图片做成cityscape格式(自用)
  6. ascii码所有字符对照表(包含汉字和外国文字)
  7. 深圳大学计算机考研初试+复试经验
  8. Gateway 网关 (二) 全局过滤器
  9. 双耳节拍 枕头_枕头2.2.1发布
  10. 在word文档中添加上角标和下角标