From: Tingting on 2 Jul 2010 04:24 hi all, i'm looking for help about image restoration. I used a lidar camera to get a 3d point cloud data, and then project the data to a 2d image. but because the 3d point cloud data is not uniform and the camera didn't scan everywhere, even at low resolution, some pixels have no information. in this case, how can i get a complete image? thanks a lot!
From: ImageAnalyst on 2 Jul 2010 07:38 On Jul 2, 4:24 am, "Tingting " <joyce....(a)hotmail.com> wrote: > hi all, > > i'm looking for help about image restoration. I used a lidar camera to get a 3d point cloud data, and then project the data to a 2d image. but because the 3d point cloud data is not uniform and the camera didn't scan everywhere, even at low resolution, some pixels have no information. in this case, how can i get a complete image? thanks a lot! --------------------------------------------------------------------------------- You might try ust projecting along one dimension to get a 2D image, then use interp2() or kriging (http://en.wikipedia.org/wiki/Kriging) to fill in the "missing" pixels.
From: Tingting on 2 Jul 2010 08:27 ImageAnalyst <imageanalyst(a)mailinator.com> wrote in message <5266631c-1059-4668-9fd8-d6634ca46c20(a)18g2000vbh.googlegroups.com>... > On Jul 2, 4:24 am, "Tingting " <joyce....(a)hotmail.com> wrote: > > hi all, > > > > i'm looking for help about image restoration. I used a lidar camera to get a 3d point cloud data, and then project the data to a 2d image. but because the 3d point cloud data is not uniform and the camera didn't scan everywhere, even at low resolution, some pixels have no information. in this case, how can i get a complete image? thanks a lot! > > --------------------------------------------------------------------------------- > You might try ust projecting along one dimension to get a 2D image, > then use interp2() or kriging (http://en.wikipedia.org/wiki/Kriging) > to fill in the "missing" pixels. thanks, but i tried interp2(), it doesn't work. i got a 64*256 image after projection, and i use interp2() to get a 128*256 image, the missing pixel was still there. the code is as following: new_wid = Width_res; new_hgt = Height_res*2; [Xis,Yis] = meshgrid(1:new_wid,1:0.5:new_hgt+0.5); Image_new = interp2(Image,Xis,Yis); is it wrong?
From: ImageAnalyst on 2 Jul 2010 11:09 Doesn't look right to me. Look at their example: [X,Y] = meshgrid(-3:.25:3); Z = peaks(X,Y); [XI,YI] = meshgrid(-3:.125:3); ZI = interp2(X,Y,Z,XI,YI); mesh(X,Y,Z), hold, mesh(XI,YI,ZI+15) hold off axis([-3 3 -3 3 -5 20]) Do they pass in an image to interp2()? No -- they pass in the x,y coordinates of the pixels that are "present" along with the intensity values (what they're calling Z) of those particular pixels, and the coordinates where you want values (their XI and YI is your Xis and Yis). Give it a try that way.
|
Pages: 1 Prev: Rotate 3D object to align with x-y plane Next: Matlab pump control |