C语言多维数组的乘除,在C语言中对多维数组的操作#

我希望将下面的Python(Numpy和Scipy)代码转换成C#。在我的例子中,IronPython不是一个选项。这里的代码是为一个图像处理程序编写的,它在一个多维的浮点数组上操作,这些浮点数代表灰度图像。它正在查找行和列之间的累积差异,然后检查差异的第5个和第95个百分位,以便可以裁剪到该值。在lower_percentile=5, upper_percentile=95

# row-wise differences

rw = np.cumsum(np.sum(np.abs(np.diff(image, axis=1)), axis=1))

# column-wise differences

cw = np.cumsum(np.sum(np.abs(np.diff(image, axis=0)), axis=0))

# compute percentiles

upper_column_limit = np.searchsorted(cw, np.percentile(cw, upper_percentile), side='left')

lower_column_limit = np.searchsorted(cw, np.percentile(cw, lower_percentile), side='right')

upper_row_limit = np.searchsorted(rw, np.percentile(rw, upper_percentile), side='left')

lower_row_limit = np.searchsorted(rw, np.percentile(rw, lower_percentile), side='right')

到目前为止,我得到的是一些C代码来获得多维数组,并且我已经研究了其他解决方案。This solution处理np.差异操作,但仅适用于一维阵列。我还研究了在2D数组(如this one)上使用嵌套循环的解决方案。我知道我可能需要将这些方法结合起来,但我不确定如何结合。在

最终,这里的目标是在继续处理多维数组之前对其进行智能裁剪。似乎只要定义了数组的重要区域,this就可以用于裁剪。我绝对愿意接受其他方式。我目前有以下返回多维数组的C代码:

^{pr2}$

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值