Raspberry Cropping image

Hello, I searched to see if anyone else was dealing with this problem, but I couldn’t find anything. I am using a Raspberry Pi 5 with a Hailo-8L AI HAT. I found that the model output is cropped and mirrored (which isn’t a big problem). When the output is cropped, it means that some objects that the camera sees are not detected by the model because they are cropped out of the frame. And that’s a bit of a problem in real life.

I don’t really mind the resolution, so I can lower it. But I would like to have the entire image available for processing. Do you know which function in gstreamer_helper_pipelines or estimation_pipeline does this? Or is it perhaps hidden somewhere? Or do you have any idea how to make it work?

I tryed editing functionget_pipeline_string(self)but I think this is not the way I shut go.

Cropped image from model output

Original input of Raspberry Camera 3

Hi @user701 ,

Can you please share what model and app type you are using?
Have you used one of the apps from: GitHub - hailo-ai/hailo-apps · GitHub?

Thanks,

I using your example: GitHub - hailo-ai/hailo-rpi5-examples · GitHub

And from model I use pose_estimation.py and detection.py but output cropping it’s similar. So that can happend in main libraly.

Hi @user701 ,

  1. Mirror: hailo-apps/hailo_apps/python/core/gstreamer/gstreamer_helper_pipelines.py at main · hailo-ai/hailo-apps · GitHub mirror_image=True is the default. You can disable it by passing --no-mirror (if your app supports it) or by setting mirror_image=False in the SOURCE_PIPELINE call.

  2. Crop: In the same file you can see scaling (resolution) - Cameras might use different sensor readout modes depending on the resolution. At lower resolutions (e.g., 640x480), the camera sensor may use a center-crop of the sensor rather than reading the full sensor and downscaling. This is a hardware/driver-level behavior - it happens before frames reach GStreamer.

Thanks,

1 Like

Thanks Michael.

I find out I using old library GitHub - hailo-ai/hailo-rpi5-examples · GitHub . And the 1. Mirror not implemented yet there(It’s never be). And I heard on Embeded World 2026 It’s broken. I don’t know, in my case it’s work. So I think I need to change to this https://github.com/hailo-ai/hailo-apps.

But when I install It’s don’t work (I mean https://github.com/hailo-ai/hailo-apps), but older work ( GitHub - hailo-ai/hailo-rpi5-examples · GitHub )

There is any requestment? Or maybe I doing something wrong I go as say this instalation: hailo-apps/doc/user_guide/installation.md at main · hailo-ai/hailo-apps · GitHub

I use

  • HW - Raspberry Pi 5
  • AI - HAILO-8L
  • OS - Raspberry Pi OS Bookworm (64-bit)
  • PYTHON - 3.11.2
  • ii hailo-tappas-core 5.1.0 arm64
  • ii hailort 4.23.0 arm64
  • ii hailort-pcie-driver 4.23.0 all

Thanks for your answer

Hi @user701 ,

Versions look ok.
Maybe complete uninstall (see here: Raspberry Trixie Error with Guide (Pi 5, AI Hat 2) - #18 by Michael) and then install from scratch the new repo? GitHub - hailo-ai/hailo-apps · GitHub

Thanks,

I reinstall who OS and continue as: Raspberry Trixie Error with Guide (Pi 5, AI Hat 2) - #18 by Michael , GitHub - hailo-ai/hailo-apps · GitHub

Then I continue as Option 2: on here hailo-apps/hailo_apps/python/standalone_apps/pose_estimation/README.md at main · hailo-ai/hailo-apps · GitHub
After run it’s say missing:

import hailo_platform.pyhailort._pyhailort as _pyhailort
ImportError: libhailort.so.4.20.0: cannot open shared object file: No such file or directory

All I have instaled:

=== APT PACKAGES ===
hailo-all/oldstable,oldstable,now 4.20.0+1 all [installed]
hailo-dkms/oldstable,oldstable,now 4.20.0-1 all [installed,automatic]
hailo-tappas-core/now 5.1.0 arm64 [installed,local]
hailofw/oldstable,oldstable,now 4.20.0-1 all [installed,automatic]
hailort-pcie-driver/now 4.23.0 all [installed,local]
hailort/now 4.23.0 arm64 [installed,local]
python3-hailort/oldstable,now 4.20.0-1 arm64 [installed,automatic]
rpicam-apps-hailo-postprocess/oldstable,now 1.9.0-1~bpo12+1 arm64 [installed,automatic]

=== HailoRT CLI ===
HailoRT-CLI version 4.23.0

=== Shared Libraries ===
libhailort.so.4.23.0 (libc6,AArch64) => /lib/libhailort.so.4.23.0
libhailort.so (libc6,AArch64) => /lib/libhailort.so

=== Library Files ===
lrwxrwxrwx 1 root root       29 Mar 16 19:44 /lib/libhailort.so → /usr/lib/libhailort.so.4.23.0
-rw-r–r-- 1 root root 16347888 Sep 14  2025 /lib/libhailort.so.4.23.0

=== Python (hailo_platform) ===
Python import error: libhailort.so.4.20.0: cannot open shared object file: No such file or directory

=== Driver (PCIe) ===
version:        4.23.0
srcversion:     6AA96411C62B9CA56BF4262
vermagic:       6.12.62+rpt-rpi-2712 SMP preempt mod_unload modversions aarch64

=== Firmware ===
Executing on device: 0001:01:00.0
Identifying board
Control Protocol Version: 2
Firmware Version: 4.23.0 (release,app,extended context switch buffer)
Logger Version: 0
Board Name: Hailo-8
Device Architecture: HAILO8L

Don’t be here a problem with instaled 4.20.0 and 4.23.0? But If missing
libhailort.so.4.20.0 I need to instal HailoRT 4.20.0?

Thanks

Hi @user701,

The python3-hailort 4.20.0 package was compiled against libhailort.so.4.20.0 , but that file doesn’t exist - only libhailort.so.4.23.0 does. All Hailo components must be the same version.

There was a mismatch in the installed packages - I would suggest to try again with the other way to install the packages on Pi.

I would suggest the following:

  1. Uninstall again everything to start from fresh clean environment.
  2. Follow the official Pi guide here to install all required packages: https://www.raspberrypi.com/documentation/computers/ai.html
  3. Install the hailo-apps repo: hailo-apps/doc/user_guide/installation.md at main · hailo-ai/hailo-apps · GitHub
  4. Execute some apps from here: hailo-apps/hailo_apps/python/pipeline_apps at main · hailo-ai/hailo-apps · GitHub
  5. If that works - continue to your use case.

Thanks,