Re: How to downsample a image matrix using left and right

*To*: mathgroup at smc.vnet.net*Subject*: [mg100973] Re: How to downsample a image matrix using left and right*From*: Ray Koopman <koopman at sfu.ca>*Date*: Thu, 18 Jun 2009 20:49:55 -0400 (EDT)*References*: <h19i7r$p7g$1@smc.vnet.net> <h1aadj$8jb$1@smc.vnet.net>

On Jun 17, 1:44 am, Ray Koopman <koop... at sfu.ca> wrote: > On Jun 16, 6:51 pm, tenveer <ten.v... at gmail.com> wrote: >> >> HI all >> >> i am just stuck with a unique problem ... >> >> What i want is to downsample a matrix (image matrix) using two left >> and right matrices.... >> e.g if i have a 100 by 100 image matrix X what i want is to downsample >> X to 25 by 25 matrix Y using two downsampling matrices U and V which >> are on left and right respectively i.e Y=U*X*V >> >> than what will the contents of the U and V matrices. >> >> Any help will be appreciated > > If you just want to take means then you can use U = Flatten /@ > (IdentityMatrix[25] /. {1 -> {.25,.25,.25,.25}, 0 -> {0,0,0,0}}) > and V = Transpose@U. However, you can also get U.X.Transpose@U as > Nest[ Transpose[Mean/@Partition[#,4]]&, X, 2]. Map[Mean@Flatten@#&,Partition[X,{4,4}],{2}]] is better.