3D visionTroubleshooting

No depth stream? Your depth camera is in passive IR mode

A depth camera in passive IR mode computes no depth: the projector is off and the IR feed is dim. Set an active mode such as NFOV unbinned and depth returns.

LumaSpec Vision9 min read Share on LinkedIn

On this page 10 sections
  1. 01The symptom pattern and the one-line cause
  2. 02Why passive IR computes no depth
  3. 03Why the IR feed is nearly black
  4. 04Test and fix, in order of probability
  5. 05Choosing the active mode: the coverage arithmetic
  6. 06Cameras that cannot fall into passive mode
  7. 07When the mode is right and depth is still empty
  8. 08Checklist before you call it hardware failure
  9. 09The decision, case by case
  10. 10Questions

Your own capture code shows a clean RGB image, an infrared feed so dark it looks dead, and no depth frames at all — while the manufacturer's viewer, on the same camera and the same PC, shows all three streams perfectly. The camera is almost certainly fine: the stream example you started from sets the depth mode to passive IR, and passive IR computes no depth by design. This guide gives you the diagnosis in order of probability, the exposure and coverage arithmetic for the mode you switch to, and the checks that separate a mode setting from a real hardware failure.

The symptom pattern and the one-line cause

The pattern is distinctive. RGB streams clearly because the color camera runs on its own sensor. The IR feed is not absent — it is nearly black, a very dark grey with faint scene structure. Depth is not degraded or noisy; there are simply no depth frames to display.

One setting explains all three observations: the depth mode. The vendor's viewer opens the camera in an active IR mode, so it shows depth. Example stream code ships with passive IR selected, so your application gets exactly what passive IR gives: a single wide-baseline infrared image lit only by ambient IR, and no depth image at all. Zero frames is the mode working as intended, not an error state.

Why passive IR computes no depth

Active IR modes drive the camera's infrared projector. The sensor reads the projected pattern returning from the scene and computes one depth value per pixel from it — encoded-light triangulation in structured-light cameras, phase or direct time-of-flight returns in ToF cameras. No projection, no depth.

Passive IR leaves the projector off and uses the depth sensor as a plain infrared camera on a wide baseline. There is no pattern to decode, so the camera returns one infrared image and nothing else. That is why the symptom is total: depth does not degrade in passive IR, it is simply not computed.

Depth mode Projector Depth output IR feed Use it when
Passive IR Off None, by design Dim, ambient IR only You want a wide-baseline IR image without depth
NFOV unbinned On Full depth resolution Bright, pattern visible Close-range detail
Binned narrow mode On Fewer pixels, more light per pixel Bright Longer range, dim scenes
Wide-field mode On Widest coverage Bright Coverage beats per-pixel detail

If you are weighing active IR depth against stereo depth for a station, the trade-offs run wider than one mode setting — the active infrared depth versus stereo comparison walks them.

Why the IR feed is nearly black

The projector is also the IR camera's main light source. In passive IR the sensor sees only what the scene reflects from ambient infrared — room lighting, warm equipment, daylight through a window — so an exposure tuned for the projected pattern lands several times short. In an active mode the IR feed is bright, and you can see the projected texture in it; that texture is the depth signal.

You can recover a usable passive IR image, but not depth:

frame period = 1 / frame rate

At 30 fps the frame period is 1/30 s = 33 ms, and exposure cannot exceed it. An exposure near 10 ms — comfortable with the projector running — is about 3x short in passive IR; raise it toward 33 ms or switch auto-exposure on. An added IR flood light brightens the passive image further. None of this produces depth: depth needs the pattern, not brightness.

Test and fix, in order of probability

  1. Read back the depth mode in your application. Passive IR is the answer in most cases. Set it to NFOV unbinned — the mode the viewer runs — and restart the stream.
  2. Confirm your code subscribes to the depth stream, not only to IR and color. A capture graph that never opens depth cannot display depth; if frames stop somewhere in the chain, find where depth frames stop shows the chain to check on any OS.
  3. Check the pixel format on the depth stream. An unhandled format can drop frames before display — unknown pixel format diagnosis covers the readback.
  4. Check which device your API opened. On many depth cameras color and depth appear as separate device nodes, and a wrapper can hand you the color node only; RGB depth stream interface selection covers the choice.
  5. If depth arrives but looks shifted against color, that is registration, not a missing stream: depth to RGB registration offsets in pixels is that fix.

Choosing the active mode: the coverage arithmetic

NFOV unbinned is the right starting point: full depth resolution over a narrow field, roughly 0.5–3.9 m of working range in this camera class. Binned narrow modes trade pixel count for light and reach, and wide-field modes trade resolution for span — roughly 0.25–5.5 m and a far wider view. Size the field before you commit:

covered width = 2 × working distance × tan(horizontal FOV / 2) sample spacing = covered width / depth image width in pixels

Take a 75° horizontal field at a 1.5 m working distance: covered width = 2 × 1.5 × tan(37.5°) = 2 × 1.5 × 0.767 = 2.3 m. A 640-pixel-wide depth image over that span gives 2300 / 640 = 3.6 mm per depth sample. A 120° wide field at the same distance covers 2 × 1.5 × tan(60°) = 2 × 1.5 × 1.732 = 5.2 m — 2.3x the span at the same pixel count, so about 8 mm per sample unless the wide mode carries more pixels.

How sensor width, working distance and field of view set the focal length Rays from the edges of the sensor pass through the lens and spread to the edges of the field of view. The ratio of sensor width to field of view is the magnification m.CameraField of view (FOV)Working distance (WD)≈ fsensor width slensm = s / FOVf = WD × m / (1 + m)
How sensor width, working distance and field of view set the focal length. Rays from the edges of the sensor pass through the lens and spread to the edges of the field of view. The ratio of sensor width to field of view is the magnification m.

Cameras that cannot fall into passive mode

If a station keeps tripping over mode settings, a camera whose depth always depends on its own projected light removes that failure path. A structured-light stereo camera such as the MV-DPS200P-02, a laser galvanometer stereo camera like the MV-DLS300P-04, and the ToF MV-DT01WMU all carry their own illumination, so depth never silently stops behind a passive setting:

Specification MV-DPS200P-02 MV-DLS300P-04 MV-DT01WMU
Near field of view 180 mm × 160 mm @ 250 mm 280 mm × 220 mm @ 400 mm –
Far field of view 420 mm × 320 mm @ 500 mm 620 mm × 440 mm @ 800 mm –
Clearance distance (CD) 250 mm 400 mm –
Measurement range (MR) 250 mm 400 mm –
Repeatability (Z-axis) 0.02 mm @ 300 mm 0.03 mm @ 600 mm ±(10+0.5%depth1)mm
VDI/VDE accuracy 0.03 mm @ 300 mm 0.05 mm @ 600 mm –
Resolution 3200 × 1944 @ RGB image; 1632 × 1264 @ depth map 3200 × 1944 @ RGB image; 1632 × 1080 @ depth map Depth map: 640 × 480 @ 30 fps; RGB image: 1280 × 1024 @ 30 fps
Data type Raw image (mono + color), Depth map, RGB-D image Raw image (mono + color), Depth map, RGB-D image Intensity image, Color image, Depth map
Acquisition time 0.2 ~ 0.7 s 0.4~0.9 s –
Image output latency 0.5 ~ 1.2 s 0.8~1.5 s 133 ms
Dimension 126 mm × 90 mm × 50 mm 236.3 mm × 79.8 mm × 98.5 mm 91 mm × 26 mm × 31.2 mm
Weight 0.74 kg Approx. 1.3 kg Approx. 70 g
Price $8,829.00 · quoted $16,579.00 · quoted Price on request

Values as printed in each product's data sheet; open a part for its drawing and full specifications.

For depth that reads distance on every pixel regardless of scene light, time-of-flight is the direct route:

3D sensorsHikrobot MV-DT01WMU ToF sensing cameraMV-DT01WMU
Type
Depth / ToF camera
Price on requestView and quote

Browse the full 3D sensors category or the camera finder to narrow by type; the configurator walks camera, lens and light in one pass.

When the mode is right and depth is still empty

  • Working distance outside the mode. Narrow unbinned modes in this class start near 0.5 m; a target at 0.3 m returns nothing. Step back to 0.8 m and retest.
  • Ambient IR saturation. Direct sun on the target floods the projected pattern and punches holes in depth. Shade the target — too much ambient light is the enemy here, not too little.
  • Two projectors in one room. Cross-talk between cameras corrupts both patterns; trigger them alternately or mask one.
  • Bandwidth. Depth plus IR plus color over one link can exceed it, and streams drop silently — camera interface bandwidth, cables and distance sizes the link.
  • Stereo rather than ToF. On a stereo depth camera, RGB working with no depth has a different cause — stereo camera works for RGB but no depth covers the missing-mono-sensor case.

Checklist before you call it hardware failure

Before a warranty claim or a replacement order, tick these:

  • Depth mode read back as an active mode (NFOV unbinned), not passive IR.
  • Depth stream subscribed, with a pixel format your pipeline handles.
  • IR feed bright and showing projected texture — proof the projector runs.
  • Target inside the mode's working range and out of direct sun.
  • One projector active at a time.
  • The vendor's viewer shows depth on the same PC and port — proving the chain end to end.

The decision, case by case

  • Viewer shows depth, your application does not: your depth mode is passive IR. Set NFOV unbinned and restart the stream. This is the case almost every time.
  • IR feed dim but depth present: exposure. Raise it toward the 33 ms frame-period ceiling at 30 fps, or enable auto exposure.
  • Depth empty in every application, viewer included: subscription, pixel format, working range or saturation — work the list above before suspecting the camera.
  • Coverage matters more than detail: move from a narrow mode to a wide-field active mode; at 1.5 m that buys 5.2 m of span instead of 2.3 m.

Still stuck on a camera you bought from us? Send the depth-mode readback and one IR frame through the contact page and we will work it with you.

Questions

Why does the vendor's viewer show depth when my own application shows none?

The viewer opens the camera in an active depth mode; the stream example you started from configures passive IR, which computes no depth image at all. Same camera, different configuration. Read the depth mode back from your application and you will almost always find passive IR where the viewer has an active mode set. Change that one setting and the depth frames appear.

Is passive IR mode a fault or a broken camera?

Neither. Passive IR is a deliberate capture mode: the projector stays off and the depth sensor returns one wide-baseline infrared image. That is the mode working as intended, not a defect, and it is genuinely useful when you want an ambient-IR view without depth. Switching back to an active mode restores depth immediately.

How dark should the IR feed look, and what exposure does it need?

In an active mode the IR feed is bright and shows the projected pattern as visible texture. In passive IR only ambient light reaches the sensor, so an exposure tuned for the projected pattern — around 10 ms — lands roughly 3x short; at 30 fps the ceiling is the frame period, 1/30 s = 33 ms. Raise exposure toward that ceiling or enable auto exposure.

Which active depth mode should I start with?

The one the fix above names: NFOV unbinned. Binned narrow variants suit longer range and dimmer scenes, and wide-field modes when coverage matters more than per-pixel detail — at 1.5 m the wide field spans about 5.2 m against 2.3 m for narrow. You can move between them later; the important step today is leaving passive IR.

Can I run passive IR and depth at the same time?

No. Passive IR is itself one of the selectable depth modes, not an extra stream — the camera holds one depth mode per capture configuration. Run an active mode for depth; its IR image already shows the infrared scene, pattern included. Use passive IR only when you want the wide-baseline infrared image and can live without depth.

What if the depth stream stays empty in an active mode too?

Work the short list: confirm the depth stream is subscribed and not just IR and color, check the target sits inside the mode's working range — narrow unbinned modes start near 0.5 m — keep direct sun off the target, and run one projector at a time. If the vendor's viewer shows depth on the same PC and your app does not, compare the depth-mode readback between the two.