gpt4 book ai didi

python:无噪音 3-D 旋转?

转载 作者:行者123 更新时间:2023-12-01 08:32:22 26 4
gpt4 key购买 nike

背景:

用例:我想从几张图片构建人体的 3D 网格。 更具体地说,现在我正在尝试旋转 3-D numpy 数组,以便我可以应用人体的下一个“掩模”,这样我就可以获得皮肤的体素表示,从中可以制作网格 最具体地说,问题是 scipy.ndimage.rotate() 不能满足我对 3 维的需要(尽管它对于 2 维来说效果很好)。对于任意旋转角度(即 72.9 度而不是 90.0 度),它也会失败。它要么在应该有“打开”体素的地方留下“关闭”体素,要么(如果我使用连续数字而不是 bool 值)它会在应该有关闭体素的地方留下很多“打开”体素。有没有更好的 rotate() 函数来解决这个噪音问题?

版本信息:

版本细节: python 2.7.15:Anaconda, Inc. numpy 1.11.3 py27h3dfced4_4 numpy-base 1.14.5 py27hdbf6ddf_4 scipy 1.1.0 py27hc49cb51_0 uname -a 的输出: Linux elon-eats-my-shorts 4.15.0-42-generic#45~16.04.1-Ubuntu SMP 11 月 19 日星期一 13:02:27 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

代码:

#====================================================

def rot8(model, angle):
xy=(1,0); return uint_mids( scipy.ndimage.rotate(model, angle, axes=xy, reshape=False, mode='constant'))

#====================================================

def uint_mids(arr):
# NOTE: do we want this to run on floats? TODO: try multiple ways (first on uint8, then float, etc.)
UINT8_MAX=np.iinfo('uint8').max; MID=int(round(UINT8_MAX/2.))
arr[np.greater(arr, 0)]=MID; return arr

#====================================================

结果:

我希望这些 plt.show() 结果看起来像人体的二维 View ,噪音最小。相反,我要么得到 A) 人体内部的洞,要么 B) “ body ”在它应该在的地方之外:

A)

too many "off" voxels

B)

too many "on" voxels

有关 scipy.ndimage.rotate() 不精确的最小示例,请尝试使用 this link 处的代码。 。回复:约翰

旋转之前: 8 voxels

旋转后: 18 voxels?

rotate() 方法创建了新的体素!我正在寻找不执行此操作的 rotate_in_3D() 方法

最佳答案

如果我理解正确的话,您有一系列从不同方向拍摄的 3D 形状的 2D 图像,并且您正在尝试重新创建该形状的 3D 轮廓。

这样的算法能完成您想要完成的任务(伪代码)吗?

Initialize all of your voxels to 1
for (mask,angle) in zip(images,directions):
for pixel in mask:
if pixel_value < threshold:
# Nothing there
draw line along angle offset by pixel location
set value of every voxel intersected by this line to 0

我基本上认为旋转 2D 图像可能比旋转 3D 模型更简单。

您可能会很快想出一个快速而肮脏的实现,并且应该适用于凸对象。您可能还可以做一些更奇特的事情来平滑边缘。

关于python:无噪音 3-D 旋转?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53858788/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com