矩阵分块求助
如何将矩阵进行8×8的分块然后再进行DCT变换,以下是我写的代码,Y矩阵宽高一致(我使用了512×512的矩阵)时代码可以运行,但是宽高不一致(如960×544)时便会报错,请问有什么解决办法吗???谢谢大家!!!Y是需要处理的矩阵,ry、cy是Y矩阵的宽度和高度。
hdata = np.split(Y, ry / 8)
for i in range(0, ry//8):
blockdata = np.hsplit(hdata, cy / 8)
for j in range(0, cy//8):
block = blockdata
Yb_dct = cv2.dct(block.astype(np.float)) 那就加一个 assert 判断呗,长宽不相等就报错,还有就是用reshape?? jkluoling1992 发表于 2020-4-24 22:08
那就加一个 assert 判断呗,长宽不相等就报错,还有就是用reshape??
谢谢!!如果不适用reshape的话有没有别的方法对矩阵进行8×8分块呢? lrh111 发表于 2020-4-25 20:15
谢谢!!如果不适用reshape的话有没有别的方法对矩阵进行8×8分块呢?
{:10_257:}木有,百度吧 jkluoling1992 发表于 2020-4-25 22:17
木有,百度吧
好吧,谢谢你!我还有一个问题,对于分块后的矩阵进行dct变换之后,我想把8×8的dct块合并成原来的矩阵该怎么操作呢? lrh111 发表于 2020-4-27 11:45
好吧,谢谢你!我还有一个问题,对于分块后的矩阵进行dct变换之后,我想把8×8的dct块合并成原来的矩阵该 ...
numpy.concatenate jkluoling1992 发表于 2020-4-27 11:56
numpy.concatenate
请问具体该怎么写呢?我不太了解这个函数的用法,在之前的代码之后添加block_dct = np.concatenate(Yb_dct , axis = 1) 又会报错{:10_266:} lrh111 发表于 2020-4-28 16:00
请问具体该怎么写呢?我不太了解这个函数的用法,在之前的代码之后添加block_dct = np.concatenate(Yb_dc ...
自己不会百度? 永恒的蓝色梦想 发表于 2020-4-28 16:08
自己不会百度?
我要是能找到会问? lrh111 发表于 2020-4-28 21:19
我要是能找到会问?
https://s1.ax1x.com/2020/04/28/JItn2Q.jpg
您找不着?
页:
[1]