python 上有没有MATLAB上blkproc函数类似的把矩阵,数组图像分块的函数,用于DCT变换?

 我来答
irnek
2016-12-19 · 超过20用户采纳过TA的回答
知道答主
回答量:71
采纳率:0%
帮助的人:41.9万
展开全部
我在寻找有效地将图像分成小区域,每个区域分别处理,然后重新组装的每一个过程的结果进入GaGa的图像处理的好办法。 MATLAB不得不工具,这款名为blkproc(换成blockproc在新的Matlab的版本)。 在理想的世界中,将支持在输入矩阵司之间的函数或类重叠了。在Matlab的帮助,blkproc被定义为: Blkproc B=(A,[m×n个] CodeGo.net,[mborder nborder],乐趣,...) A是你的输入矩阵, [M n]是块大小 [Mborder,nborder]你是边境地区的大小(可选) 有趣的是适用于每个块的函数 我kluged在一起的方法,但它暨awk和bug还有更好的方法。在我自己的风险,这里是我的代码:
import numpy as np
def segmented_process(M, blk_size=(16,16), overlap=(0,0), fun=None):
rows = []
for i in range(0, M.shape[0], blk_size[0]):
cols = []
for j in range(0, M.shape[1], blk_size[1]):
cols.append(fun(M[i:i+blk_size[0], j:j+blk_size[1]]))
rows.append(np.concatenate(cols, axis=1))
return np.concatenate(rows, axis=0)
R = np.random.rand(128,128)
passthrough = lambda(x):x
Rprime = segmented_process(R, blk_size=(16,16),
overlap=(0,0),
fun=passthrough)
np.all(R==Rprime)

具体访问http://codego.net/260720/
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式