back to top

How to Use Intentional Camera Movement (ICM) in Photography

A- A+

Subscribe Below to Download the Article Immediately

You can also select your interests for free access to our premium training:

Your privacy is safe. I will never share your information.
Related course: Infinite Exposures

A great way to add creativity to your image is by moving your camera during a long exposure.

Fortunately, there are many ways to apply Intentional Camera Movement (ICM) to your photography and we’ll show you how.

blurry colours created with intentional camera movement[Note: ExpertPhotography is supported by readers. Product links on ExpertPhotography are referral links. If you use one of these and buy something, we make a little bit of money. Need more info? See how it all works here.]

What Does Intentional Camera Movement Mean?

You can achieve a great deal of creativity once you slow down your camera’s shutter speed.

The idea behind Intentional Camera Movement or ICM photography is to add the illusion of movement to a still image. Long exposure is crucial for this technique since it creates a lot of motion blur.

When doing long exposures, the usual goal is to keep the camera still to produce a sharp image. Intentional camera movement delves into the opposite concept. Instead of keeping your device steady, you move it around to create colourful swirls and streaks.

abstract blurry photo of an outdoor tunnel

What Equipment Do You Need to Create ICM?

To create intentional movement, you’ll need a camera that lets you change the shutter speed. You don’t need a fancy lens either – a kit lens is perfectly enough for this project.

Apart from the camera, you’ll also need a few accessories for intentional blur photography.

  • Filters. There will be times during the day when it’s too bright to use slower shutter speeds. In this case, using an ND filter is a good option. You don’t need a filter that’s too strong. An ND8 is enough to slow your shutter speed down.
  • Tripod. People generally use this piece of equipment to keep the camera still. But that’s not the aim of taking ICM photos. Instead, you can use it to control your movements better for cleaner effects.
  • Wide-angle lens. You can use any lens you need for ICM. But in general, the wider your focal length, the more pronounced the effects.

different grades of neutral density filters

How Do You Do Intentional Camera Movement?

As we’ve mentioned before, there are several methods to do ICM. Below are just some of the few ways you can do this technique.

Panning

Panning is the most well-known technique that involves the movement of your camera. It means following a moving object during an exposure.

The best shutter speed for this method is around 1/20th of a second or less. Generally speaking, a better and more effective way to perform this handheld.

Panning aims to isolate the moving object from the background using motion blur.

a cyclist moving over a bridge with blurred background

Panning uses the same concept as Intentional Camera Movement. In other words, you purposely move your camera to create a visual effect.

But the other idea behind the term ‘Intentional Camera Movement’ is to present a more abstract image. Unlike panning, it is more experimental in nature. So in this aspect, Panning and ICM can be distinct sometimes.

Other Popular Methods of ICM

Straight Line Movement

The movement for this technique can either be horizontal or vertical. But your aim is to only use direction, though.

Doing a straight line movement usually only needs a 1/20th exposure time. It’s rather like panning but without the moving object to follow.

This particular style doesn’t work for every subject. Here are some tips you can apply to help you get the best result.

  • Location. Applying this technique to a plain background is pointless. Instead, look for places with natural lines and differences in tone and color. An ideal place to try is a forest with lots of lines of trees.
  • Tripod. An excellent way to achieve gentle, steady flat movement is to photograph from a tripod. It helps keep your camera move steadily in one direction.
  • Exposure length. For the first part of your exposure, you can keep your camera still for the first a few moments. And as the exposure is about to end, move the camera quickly to create the motion blur you need.
  • Speed of movement. You can intensify the strength of the blur across your image by slowly moving the camera. It’s a great way to create different images using the same technique. You’ll need a longer exposure time if you move the camera more slowly, so it’s best to do this from a tripod.

a blurry photo of a forest

Rotation

Another way to produce intentional camera movement is by rotating your camera. Imagine there’s an axis that runs from your camera lens through your sensor or film.

You need to rotate your camera around this imaginary axis and try to keep the motion as smooth as you can.

This technique will usually be handheld, but it is possible from a tripod as well.

Handheld

Extremely long exposure times aren’t suitable, so keep it to around 1/20th. Look for locations that have a variable level of light from the top to the bottom part of your frame. A light tunnel or a tree canopy will work well.

The central point of your image will likely be sharp, with the blur more pronounced at the edge of the frame. Choose an interesting primary subject to rotate around.

From a Tripod

The camera can only rotate around the axis of the tripod so that it won’t be perfectly centered. use of long exposures is possible, though. You can use slower movement to intensify the strength of the blur.

Look for a place surrounded by tall buildings or trees to try this technique out from a tripod looking up.

Artistic spiral blur of intentional camera movement around a persons face

Zoom

A further way to use this effect is through the zoom burst. You’ll not be moving the camera to execute this technique, but will instead be moving your zoom lens.

As with camera rotation, this is another effect that can be handheld.

The effect works best with a strong central subject, one that you’re going to zoom in.

The following steps describe how you carry out the zoom burst technique.

  • Step 1. Select a central subject for the photo. It should not be too large. So a person, statue, or small building will work well.
  • Step 2. Select a location that has mixed levels of light on both sides, and above you. A tree canopy would work well for this.
  • Step 3. Now zoom into the final focal length you’re going to photograph. You need to pre-focus your lens at this focal length.
  • Step 4. Adjust the shutter speed to around 1/20th of a second.
  • Step 5. When you’re ready, hit the shutter and zoom into your main subject. Slow the zooming in down as you approach the max focal length of the zoom burst. Doing so makes the main subject sharper.

Shooting zoom burst photos from a tripod is an excellent option to keep the camera steady. Doing so creates cleaner blur lines. Apart from that, using the flash on the main subject of your photo can also work, especially if your point of interest is small. Use the second curtain sync when you do this, so the flash goes off at the end of the zoom burst.

Artistic zoom burst shot taken on a subway train

Random Camera Movement

The final and most abstract form of camera movement is random camera movement. This method is the most difficult to use effectively. It’s the easiest way to produce a messy photo with no real point of interest.

A planned movement of some description is the best way to get good results here.

  • Shapes. Look to produce predefined shapes, like stars or hearts. Doing so helps give your photo a narrative, and these shapes will likely repeat across the frame.
  • Curves. Smooth motion and lines that curve can be useful as well. Plan how your camera will move before you start the photo. Gentle curves, as opposed to scribbles, will likely look better.
  • Exposure length. Shorter exposures will be better. A short defined movement is easier to produce. The longer the exposure, the more likely the movement will resemble a scribble.
  • Double exposure. You can blend motion blur with a stationary element. In this case, using a tripod is ideal. The camera movement will occur from a fixed position on the tripod head. The movement will happen by moving the camera around the tripod ball head.

the branches and leaves of a large tree blurred by intentional camera movement

Conclusion

If you love to experiment with your photography, then these techniques could help you. There aren’t significant rules when it comes to ICM or RCM. So feel free to play around and surprise yourself with amazing results!

We’d loved to see examples of your Intentional Camera Movement. Have you tried any of the ICM techniques listed in this article before? Feel free to share your ICM images and experiences in the comments below!

Show Comments (0)
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]