Inside Panoramas / Cylindrical Textures From Real Objects





Introduction: Inside Panoramas / Cylindrical Textures From Real Objects

taking 360 degree panoramas from turning the camera to the middle, not outside.

here i have a small toy car which is standing in the middle of a slow moving turntable.
(1round / 30sec)

Step 1: The Object

i placed the car in the middle of a turntable which is turned slowly by a motor from a "disco mirror ball".
the video camera (mini-dv) captures the car as it turns.

with 25 Pictures/Sec and a turning-time from 30 sec i end with 750 pictures.
(copy the DV-film via firewire from the camera and splice him into single images with your favourite movie-tool)

Step 2: Pixel Crunching (or) the Fun Part...

this is the fun part.

now you have 750 images.

take the middel row of pixels from each of the 750 pictures and adjoin them to a new picture.
this should now be 750 pixel wide.

and it should be looking some like that.

Step 3: Same Source, Different Slice

if you take the horizontal slice, it looks very different!

Step 4: 3-D!!

if you dont only take the "middle" row but two slices some pixel apart, you even can make 3-d pictures with the correct depth from all sides at once.

red/cyan anaglyph view

Step 5: Other Objects

some other objects i did.

the duck was fun as a border and the sticky tape dispenser is a bit animated.

many fun things you can do. ;-)

hope you have fun watching this instructable.
i had much taking and sliceing the pictures.




    • Woodworking Contest

      Woodworking Contest
    • Planter Challenge

      Planter Challenge
    • Make it Move Contest

      Make it Move Contest

    We have a be nice policy.
    Please be positive and constructive.




    I did this the easy way I just laid an object on my flatbed scanner and rotated the object as the light passed in sync . I even scanned my whole face , sides of my head included ;-) It was sooooo creepy ! Much worse than sitting on a copier ! ;-) A scanners stepper motor could be used to make the rotation automatic and precise . The scans are high def but limited distance . But I've done depths of about 4 inches . I've beat cameras with an old flatbed ! Here's some of the plane flat results ( sans 180 degree method ) . One image the broken squash got 25,000 hits in one week ! The album got 50,000 !

    texture bark good.jpgveg acorn squash broken scan 1.jpg

    Your results came out just great. I got the idea to simulate a slit-scan camera about 5 years ago with a regular digital camera, by taking a video, and chopping out the middle column of pixels.

    At first, my idea was to hold the camera up against my car window while making the long drive up and down Sepulveda - an LA road that goes through the mountains - that took me to work and back home. I had no graphical programming experience, so after dumping the ~3 min. videos out to frames, I wrote a Photoshop batch to open each one, copy the center column, close it, and resize the other image it would refocus back to from its center point outwards width-wise by 2 pixels. This effectively built the image to the left, and a blankness to the right. There was no way to paste to the far right edge of the window, so I had to trick it this way. Then I'd just crop out the right half. It worked well, and slowly.

    I also tried making several versions of the same pano from different vertical columns, evenly spaced across the image sets. When played back, it made everything in the image appear to spin, and slide a bit, as each was being viewed from different angles when it was in different parts of the frame. It was fun, and the images were monsterously wide.

    Then I felt like trying it for your idea here, but had no nice rotational device, so I taped down 2 bars of something to create a V on my desk, and pushed a dead CD into that corner, and put an action figure on it (Rokkon, from He-Man), and filmed from a tripod as I tried very hard to spin the disc slowly, and evenly. I got something kind of like your spins, but very low-res (320x240 video), and very jaggedy, as I just couldn't spin it smoothly enough. It was just a test though, and it worked enough to prove the point for me, so I didn't revisit it. I tend to give up when I see that an idea works, without making anything cool out of it - I guess I'm just all about process, and not results.

    Somewhat relatedly, a few years after that, I got into microcontrollers, and processing (, and actually made a little turntable with a platform on a stepper motor, for perfect 1.8° incremental turning (200 steps in a full 360°). I hooked it up to a processing script through a BASIC Stamp connected via serial to the PC, and had it spin the thing, and capture a picture through a miniDV cam for each position. Then I wrote a Processing script to let me spin the object - Pom Pom, a Homestar Runner figurine. You can see the setup here:

    And you can play with it here:

    Click, and drag left and right to spin it, and if you make sure to let go inside the boundaries of the little movie, you can sort of throw him in either direction (let go while still dragging), and he'll spin, slowing to a stop.

    eric1000: "take the middel row of pixels from each of the 750 pictures" I'm totally confused as to how this is done. However, if you were to have said middle column (as in vertical slice of pixels) I can see how this might be possible. Also, what do you do with the result? I didn't catch anywhere that you share how you use these. (I am a skimmer, not a reader though.) Have you ever printed one of these and attached it to a cylinder?

    6 replies

    i've done the printing... but for me its more a "art" thing. maybe some 3-D worker can use it to make more realistic textures to their models, but i like it as "art"... the next thing i plan with this is to make animated pictures with lenticular lenses. i like playing with dimensions (in/out, time/room, ...) and generating a new "view" to common things... :o)

    I printed and rolled the image of the camera. It was quite funky looking due to the lens distortion. The rubber duck looked very good when printed and rolled however. I suspect that this is because it is of [nearly] consistent "distance from center" all the way around. (or you might say cylindrical) This gave me an idea. I'm going to try to take a series of still pictures of my head with my Canon XTi and crop+join them. I think that since a human head is relatively cylindrical, this should produce good results. To eliminate lens distortion, I will use a zoom lens, shoot from a great distance, and only the center 50% of the image area. This could take me months to pull off, but I will follow up.

    i would like to see your pictures... please send me one if its done... even if it looks not that good.. ;-)

    i use the free imagemagick to do this

    sliceing the middle row of an 320x240 picture work like this:
    convert -crop 1x240+160+0 in.jpg slice.jpg

    bringing the slices together like this:
    convert -append -rotate 90 slice-1.jpg slice-2.jpg slice-3.jpg out.jpg

    Okay, I see the "-rotate 90" in there. That made me study your turn table image more closely. I see that your camera is rotated 90. So, it makes sense that you crop a 1 pixel high horizontal row from the video and rotate it 90 degrees to use it as a vertical column for the final image. As a Linux user, I could totally bash script mencoder/ffmpeg to pull stills from the video and imagemagick to crop and join. I just could not figure out the logistics of which pixels go where, based on your original description.

    ok.. i thought it would come out clearly...

    1st about the "-rotate 90"...
    just try it without and you'll see.. ;-)

    the "append" feature appends the images vertically...

    so two 1x240 slices would end in an 1x480 picture.
    since i need a 2x240 picture i have to rotate the slices before appending them.

    2nd about scripting...
    yes, that was what i was doing and i'm planing a little .exe with graphical interface for "simpler usage" in near future...

    3rd about the stacking mehtod...
    imagine this movieclip as source:
    image 1 = 1a,1b,1c,1d,1e,1f,1g,1h,1i
    image 2 = 2a,2b,2c,2d,2e,2f,2g,2h,2i
    image 3 = 3a,3b,3c,3d,3e,3f,3g,3h,3i

    this would lead to a picture (just the middle row of each):

    clearer now?

    I'm really into panoramics at the moment and I was wondering about doing something like this, but how do you select the exact middle row of pixels?

    3 replies

    the "cheaper" alternative mostly this: for PICTURE in `la -A1 IN-*.jpg do # cut a 1 pixel slice from each input frame convert -crop 1x480+320+0 $PICTURE slice-$PICTURE done for SLICE in `ls -A1 slice-*.jpg` do # put slices together convert -append $SLICE finished.jpg done and that is worth $500.. hmmm ok... /me remember to price my windows port of that script higher... ;o)

    Yeah, that's pretty much what my script was, but I didn't know of another image editing program I could do the same thing with. . . Thanks for posting this! Really!

    woth a view... and its free...
    think of it as all possibilitys of photoshop and more without being forced to use a mouse. ;-)
    scripting is fun.

    you can do almost anything with it as you can with photoshop.

    but its not so "easy" to use the first time, because you only have "files" and not "pictures" you edit..

    deffinatly the sickest thing i'vwe seen today. completly awesome. great job

    This seems to be a hard part too. Did you use some kinds of special software tools or skills?

    5 replies

    just "imagemagick" and some batch scripting skills.

    Thanks. I'm new to panoramas. Are there some software can view your product? I mean, like looking at a rotating car?

    hmmm... the point is not looking at a rotaiting car... the point is looking at all sides of it at once... the "product" (if you name it so) is the flat picture... not an animation or reproduction of it in a common known view... its more ment as "art" or as a physical unrolling of a "round" thing to a "flat" thing. the fun ist the switch from inside equals outside, or around equals front...

    Any chance we can get that script?