vhliboptimal_test 0.0.7

Test suite for shape contour detection and image outline recognition
Project Source code
Full Source Code on GitHub: https://github.com/vigatron/vhliboptimal_test
| Platform / Board |
Processor / MCU |
Architecture |
Freq |
| ASUS Vivobook |
Intel i5-1135G7 |
x86_64 |
2.40 GHz |
| AMD Based Desktop |
AMD FX-8300 |
x86_64 |
3.30 GHz |
| Orange Pi PC Plus |
ARM Cortex-A7 |
ARMv7-A |
1.20 GHz |
| Raspberry Pi Model B+ V1.2 |
ARM1176JZF-S |
ARMv6 |
700 MHz |
| CMB32F407HDMIR3 |
STM32F407 |
Cortex-M4 |
168 MHz |
| Waveshare Core7XXI |
STM32F746 |
Cortex-M7 |
216 MHz |
| CMB32H750HDMIR1 |
STM32H750 |
Cortex-M7 |
480 MHz |
| ESP32-WROOM-32D |
ESP32-D0WD |
Xtensa LX6 |
240 MHz |
Rev 0.0.7 Notes:
Time-critical routines placed in ITCMRAM / IRAM
- STM32F407:
- BitFields data arrays optimized for CCMRAM
- Time-critical routines running in FLASH section faster than in SRAM
- ITCMRAM is not available on STM32F407
- STM32F746:
- Optimized for DTCMRAM (BitFields data arrays)
- Selected time-critical routines placed in ITCMRAM
- STM32H750:
- Optimized for DTCMRAM (BitFields data arrays)
- Selected time-critical routines placed in ITCMRAM
- ESP32-D0WD:
- Optimized for ESP32 DRAM (BitFields data arrays)
- Selected time-critical routines placed in IRAM
Test Images Examples
Example 1: Image size: 4096*4096 Letters and Geometric shape (Extreme Size Test)
Example 2: Image size: 4096*4096 Letters and Geometric shape (Extreme Size Test)
Example 3: Image size: 1920*1080 (1080p) Shapes
Example 4: Image size: 1920*1080 (1080p) Synthetic Dense Text Block (Extreme Stress Test)
Example 5: Image size: 640*480 (VGA) Shapes
Example 6: Image size: 800*600 (SVGA) Text
Example 7: Image size: 1280 × 720 (HD 720p) Shapes & Text
Benchmark Results
Library rev 0.8.1
Optimized for STM32 F4 / F7 / H7
Library rev 0.8.0
Added zero-allocation support with FIXED_GRID option for STM32 & ESP32
Library rev 0.7.5
Initial revision for PC and SBC
Dependencies
Build & Run
GRID Memory Layout Configuration
| Grid Size |
Scale Level |
Dimensions |
Total Memory |
Breakdown (Objects + Spans) |
| GRID_512x512 |
SCALE_LV = 9 |
512 × 512 |
118,336 bytes |
12,800 bytes (800 objects) + 40,000 bytes (10,000 spans) |
| GRID_256x256 |
SCALE_LV = 8 |
256 × 256 |
69,184 bytes |
12,800 bytes (800 objects) + 40,000 bytes (10,000 spans) |
| GRID_128x128 |
SCALE_LV = 7 |
128 × 128 |
56,896 bytes |
12,800 bytes (800 objects) + 40,000 bytes (10,000 spans) |
Common camera image resolutions
| Name |
Resolution |
Aspect ratio |
| VGA |
640 × 480 |
4:3 |
| SVGA |
800 × 600 |
4:3 |
| XGA |
1024 × 768 |
4:3 |
| HD 720p |
1280 × 720 |
16:9 |
| SXGA |
1280 × 1024 |
5:4 |
| UXGA |
1600 × 1200 |
4:3 |
| FHD 1080p |
1920 × 1080 |
16:9 |
| QSXGA |
2592 × 1944 |
4:3 |
| 4K UHD |
3840 × 2160 |
16:9 |
Link to resized monochrome .bmp images:
© 2026 V01G04A81 / Viktor Glebov