问题标签 [scipy.ndimage]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 当 scipy.ndimage.zoom 使用 order 1 和 order 3 时,输出中引入了什么区别?
我有一个功能可以将图像保存为 16 位,而不是像这样的常规 8 位:
我要保存的图像首先被缩放然后保存。
当我使用 order = 1 for 运行此 python 代码时scipy.ndimage.zoom
,没有看到任何问题。图像被缩放并保存得很好,但我想获得更好的插值。
我将插值顺序更改为 3,出现错误:
我不明白这里的插值顺序有什么区别
numpy - How do I find rectangular areas in a matrix
I have a matrix with different labels. How do I find all rectangles with identical values?
I tried:
This reports
But a[50, 50] = 7 so there is clearly no rectangle [0:100, 0:100] with the value 5
python - 在python中旋转图像的最快方法是什么?
我需要知道在 Python 中旋转图像的最快方法是什么。
在 Stack Overflow 中,没有根据我的知识提出或回答这样的问题,所以我决定进行一个实验并找出答案。这就是为什么我想与您分享结果:
为每个模块定义一个函数:
使用 timeit 找出最快的,PIL,Open CV 或 Scipy:
结果是:
不过有一个转折点——这是一个 jpeg 文件,而 PIL 只是粉碎了其他两个库。但是我主要使用 TIFF 格式的大型原始图像,所以我还决定测试 TIFF 文件:
这意味着 OpenCV 在 TIFF 文件格式方面的表现要好于我们在 JPEG 文件方面的明显赢家。
如果有人碰巧知道原因,或者如果有人有类似的实验,请在这里分享。我认为这将是一个很好的公开文件进行比较。
另外,如果您认为我的实验无效,或者出于任何原因可以改进,请告诉我。
python-3.x - 忽略零值数据点的 Scipy 中值过滤器?
我一直在median_filter
使用scipy.ndimage
. 我想以一种丢弃任何没有积极价值的数据的方式使用它。
也就是说,假设过滤器的一次迭代作用于:
如果我只是对此运行中值滤波器,我将得到45。我想要一个忽略零的函数,使得中位数为50。
感谢您的建议!
scipy.ndimage - AttributeError:模块“scipy.ndimage”没有属性“imread”
AttributeError:模块“scipy.ndimage”没有属性“imread”
代码片段 import numpy as np from scipy import ndimage
导入 matplotlib.pyplot 作为 plt %matplotlib inline
img = np.expand_dims(ndimage.imread('NNd.PNG'),0) plt.imshow(img[0])
我正在使用谷歌合作,但它不工作。我试过使用 imageio , cv2 方法,但它不起作用。请协助
python - 使用 scipy affine_transform 重新采样脑 MRI 扫描时减少伪影
我有脑核磁共振。它是灰度的,有 20 个切片。我将它放入一个形状为 (20,256,256) 的 numpy 数组中。我使用scipy.ndimage
affine_transform来旋转和重新采样数组,如下所示。
图像中的暗纹是我想要减少的伪影。伪影是由于切片之间的间隙比较大造成的。在此示例中,像素间距为 0.85 mm,但切片之间的距离为 7 mm。
我试图改变仿射变换的顺序,但即使 order=5 也有相同的工件。下面是 order=0(最近的邻居)...
你可以看到头骨的曲率是如何使问题复杂化的。有什么技巧可以解决这个问题吗?也许我应该在像素之间添加虚拟数据以均衡间距?也许我应该使用极坐标来消除曲率?还有其他想法吗?
python - cv2.Filter2D 与 ndimage.convolve?
我是图像处理的新手,如果您觉得问题太简单,请原谅我。
我试图ndimage.convolve()
用cv2.filter2D()
卷积函数替换。
这是原始代码
这是替换功能
两个代码都返回不同的值,我尝试使用参数 atndimage.convolve
并将原点设置为 -1 然后它返回确切的结果,cv2.filter2D
但这不是我想要的,因为我希望 ndimage.convolve 使用默认原点这是零。
在我再次研究 opencv 文档后,filter2D
我意识到
过滤函数实际上计算相关性。如果你有一个对称的卷积核,那么相关性和卷积的数学表达式是相同的。
如果内核不对称,则必须翻转内核并将锚点设置为(kernel.cols - anchor.x - 1,kernel.rows - anchor.y - 1)。这将计算实际的卷积。
所以我cv2.flip(f,-1)
双向翻转内核,但我不知道翻转内核后如何计算新的锚点,根据文档,我需要将锚点设置为(kernel.cols - anchor.x - 1, kernel.rows - anchor.y - 1)
. 我猜kernel.col
s 和kernel.rows
是两个方向的内核大小,但这里的含义anchor.x
和anchor.y
含义是什么?它是内核的原始锚点吗?假设内核是 42 X 42,那么新的锚点是什么?提前致谢。