<p>I am streaming the images from a ZED2 camera (<a href="https://www.stereolabs.com/en-cl/store/products/zed-2" rel="nofollow noreferrer">enter link description here</a>) using a ROS2 humble topic on Jetson Orin NX JP 6.0/ Ubuntu 22.04
I get images like this from the left camera. Any idea why does it happen?
I drew the rectangles myself. But the issue is the those lines.</p>
<p>I tried the same camera with no setting change yesterday and it gave me clear images. I am not able to correlate what causes it to produce good/ bad images sometimes.</p>
<p>For your information, I am operating the camera in a glacier/ snowy environment. It was not sunny that day when I received the bad images, nor was it on the good image day. These lines remain consistent across different frames. Once in a while I get clear frame. ChatGPT says aliasing/ moire patterns.</p>
<p>I don't know much about tuning camera parameters but I have control over below ones.</p>
<pre><code>video:
            brightness: 4 # [DYNAMIC] Not available for ZED X/ZED X Mini
            contrast: 4 # [DYNAMIC] Not available for ZED X/ZED X Mini
            hue: 0 # [DYNAMIC] Not available for ZED X/ZED X Mini
            saturation: 4 # [DYNAMIC]
            sharpness: 4 # [DYNAMIC]
            gamma: 8 # [DYNAMIC]
            auto_exposure_gain: true # [DYNAMIC]
            exposure: 80 # [DYNAMIC]
            gain: 80 # [DYNAMIC]
            auto_whitebalance: true # [DYNAMIC]
            whitebalance_temperature: 42 # [DYNAMIC] - [28,65] works only if `auto_whitebalance` is false

stream_server:
            stream_enabled: false # enable the streaming server when the camera is open
            codec: 'H264' # different encoding types for image streaming: 'H264', 'H265'
            port: 30000 # Port used for streaming. Port must be an even number. Any odd number will be rejected.
            bitrate: 12500 # [1000 - 60000] Streaming bitrate (in Kbits/s) used for streaming. See https://www.stereolabs.com/docs/api/structsl_1_1StreamingParameters.html#a873ba9440e3e9786eb1476a3bfa536d0
            gop_size: -1 # [max 256] The GOP size determines the maximum distance between IDR/I-frames. Very high GOP size will result in slightly more efficient compression, especially on static scenes. But latency will increase.
            adaptative_bitrate: false # Bitrate will be adjusted depending the number of packet dropped during streaming. If activated, the bitrate can vary between [bitrate/4, bitrate].
            chunk_size: 16084 # [1024 - 65000] Stream buffers are divided into X number of chunks where each chunk is chunk_size bytes long. You can lower chunk_size value if network generates a lot of packet lost: this will generates more chunk for a single image, but each chunk sent will be lighter to avoid inside-chunk corruption. Increasing this value can decrease latency.
            target_framerate: 0 # Framerate for the streaming output. This framerate must be below or equal to the camera framerate. Allowed framerates are 15, 30, 60 or 100 if possible. Any other values will be discarded and camera FPS will be taken.
</code></pre>
<p>Any help is highly appreciated to help understand and eliminate these lines!</p>
<p><strong>Update</strong>: I am not doing any postprocessing on the image apart from the ROS2 node that ZED's SDK runs (it gives me option to choose resolution through)</p>
<p><strong>Bad Image</strong>
<a href="https://i.sstatic.net/vTQOzbLo.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/vTQOzbLo.png" alt="weird lines" /></a></p>
<p><strong>Good Image</strong>
<a href="https://i.sstatic.net/Cb8eV2br.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/Cb8eV2br.png" alt="good image" /></a></p>

CC BY-SA 4.0
2024-12-16T09:35:12.290Z
I don't know anything about those cameras or systems (you should add links to precisely which camera, operating system you are using), but those do look like Moire patterns. Are you delivering video at the default resolution for the camera & system, or are you downsizing? Those patterns could suggest some rescaling is going on.
tomh
CC BY-SA 4.0
2024-12-16T09:36:18.757Z
Also it would help if you could upload some "normal" images to help explain what's going on. Or an image of what you expect to see vs the output of the camera.
tomh
CC BY-SA 4.0
2024-12-16T15:10:08.793Z
@tomh : I am not doing any resizing myself but I guess that the camera's SDK does it as it gives me the choice to select different resolution. I also attached a link to the camera and a good photo I came across in the same run as the faulty one.
you_know_who
CC BY-SA 4.0
2024-12-16T15:36:47.227Z
I would start by only encoding and exporting at the camera's native resolution & frame rate, which looks to be max 2208x1242 at 15 fps. The images you've sent are 652x1333, so some resizing is going on
tomh
CC BY-SA 4.0
2024-12-16T17:45:28.103Z
Right now, I receive in 1280*720. I pasted only screenshot of some area. So. that's why its 652*1333. I will try at the full resolution as you suggested.
you_know_who
CC BY-SA 4.0
2024-12-22T11:10:53.800Z
@tomh I did some experiments with different resolution and fps and found that 720p @ 60fps doesn't show these lines. One day, 1080p was fine but not another. Full resolution 2K didn't help for me. I also raised this question on the stereolab forums @ https://community.stereolabs.com/t/camera-image-has-lines/7708/12
you_know_who
<moire>
Weird lines come in video feed from ZED2 camera
you_know_who
# Weird lines come in video feed from ZED2 camera

(Asked by: username_0 on 2024-12-15)

I am streaming the images from a ZED2 camera (enter link description here) using a ROS2 humble topic on Jetson Orin NX JP 6.0/ Ubuntu 22.04
I get images like this from the left camera. Any idea why does it happen?
I drew the rectangles myself. But the issue is the those lines.
I tried the same camera with no setting change yesterday and it gave me clear images. I am not able to correlate what causes it to produce good/ bad images sometimes.
For your information, I am operating the camera in a glacier/ snowy environment. It was not sunny that day when I received the bad images, nor was it on the good image day. These lines remain consistent across different frames. Once in a while I get clear frame. ChatGPT says aliasing/ moire patterns.
I don't know much about tuning camera parameters but I have control over below ones.
video:
            brightness: 4 # [DYNAMIC] Not available for ZED X/ZED X Mini
            contrast: 4 # [DYNAMIC] Not available for ZED X/ZED X Mini
            hue: 0 # [DYNAMIC] Not available for ZED X/ZED X Mini
            saturation: 4 # [DYNAMIC]
            sharpness: 4 # [DYNAMIC]
            gamma: 8 # [DYNAMIC]
            auto_exposure_gain: true # [DYNAMIC]
            exposure: 80 # [DYNAMIC]
            gain: 80 # [DYNAMIC]
            auto_whitebalance: true # [DYNAMIC]
            whitebalance_temperature: 42 # [DYNAMIC] - [28,65] works only if `auto_whitebalance` is false

stream_server:
            stream_enabled: false # enable the streaming server when the camera is open
            codec: 'H264' # different encoding types for image streaming: 'H264', 'H265'
            port: 30000 # Port used for streaming. Port must be an even number. Any odd number will be rejected.
            bitrate: 12500 # [1000 - 60000] Streaming bitrate (in Kbits/s) used for streaming. See https://www.stereolabs.com/docs/api/structsl_1_1StreamingParameters.html#a873ba9440e3e9786eb1476a3bfa536d0
            gop_size: -1 # [max 256] The GOP size determines the maximum distance between IDR/I-frames. Very high GOP size will result in slightly more efficient compression, especially on static scenes. But latency will increase.
            adaptative_bitrate: false # Bitrate will be adjusted depending the number of packet dropped during streaming. If activated, the bitrate can vary between [bitrate/4, bitrate].
            chunk_size: 16084 # [1024 - 65000] Stream buffers are divided into X number of chunks where each chunk is chunk_size bytes long. You can lower chunk_size value if network generates a lot of packet lost: this will generates more chunk for a single image, but each chunk sent will be lighter to avoid inside-chunk corruption. Increasing this value can decrease latency.
            target_framerate: 0 # Framerate for the streaming output. This framerate must be below or equal to the camera framerate. Allowed framerates are 15, 30, 60 or 100 if possible. Any other values will be discarded and camera FPS will be taken.

Any help is highly appreciated to help understand and eliminate these lines!
Update: I am not doing any postprocessing on the image apart from the ROS2 node that ZED's SDK runs (it gives me option to choose resolution through)
Bad Image

Good Image

**Tags:** moire

> **Comments:**
> **username_1**: I don't know anything about those cameras or systems (you should add links to precisely which camera, operating system you are using), but those do look like Moire patterns. Are you delivering video at the default resolution for the camera & system, or are you downsizing? Those patterns could suggest some rescaling is going on.  
> **username_1**: Also it would help if you could upload some "normal" images to help explain what's going on. Or an image of what you expect to see vs the output of the camera.  
> **username_0**: @username_1 : I am not doing any resizing myself but I guess that the camera's SDK does it as it gives me the choice to select different resolution. I also attached a link to the camera and a good photo I came across in the same run as the faulty one.  
> **username_1**: I would start by only encoding and exporting at the camera's native resolution & frame rate, which looks to be max 2208x1242 at 15 fps. The images you've sent are 652x1333, so some resizing is going on  
> **username_0**: Right now, I receive in 1280*720. I pasted only screenshot of some area. So. that's why its 652*1333. I will try at the full resolution as you suggested.  
> **username_0**: @username_1 I did some experiments with different resolution and fps and found that 720p @ 60fps doesn't show these lines. One day, 1080p was fine but not another. Full resolution 2K didn't help for me. I also raised this question on the stereolab forums @ https://community.stereolabs.com/t/camera-image-has-lines/7708/12  

---

## 0 answers

