Files
avdb-py/scripts/cf_pyramid_demo.py
2026-10-04 18:24:18 -04:00

60 lines
1.7 KiB
Python

"""
Test module for the ColorFeaturesPyramid class.
This module contains unit tests to verify the functionality of the ColorFeaturesPyramid class,
including initialization, down-sampling, and tile analysis.
"""
import os
import sys
import cv2 as cv
import numpy as np
# from avdb.db import DBOps, DBConnection
from avdb.color_features_pyramid import ColorFeaturesPyramid
def demo():
"""
Main function to demonstrate the usage of the ColorFeaturesPyramid class.
This function shows how to use the `_down_sample_and_analyze` method to perform
down-sampling and tile analysis on an image.
"""
for img_name in ["TESTIMG", "IMG_9997", "IMG_9998", "IMG_9999", "IMG_2327"]:
print(f"Processing image: {img_name}")
# Example image path and UUID
img_path = f"img/{img_name}/{img_name}.jpeg"
uuid = img_name
# Initialize the ColorFeaturesPyramid with custom parameters
pyramid = ColorFeaturesPyramid(
uuid=uuid,
root_path=".",
down_sampling=9,
colorspace="lab"
)
print("Starting down-sampling and analysis...")
# Run the down-sampling and analysis process
results = list(pyramid._down_sample_and_analyze())
# Print the results for each level
for level, (histograms, metadata) in results:
imgw, imgh, tilesw, tilesh = metadata
print(f"Level {level}:")
print(f" Image dimensions: {imgw} x {imgh}")
print(f" Tiles: {tilesw} x {tilesh}")
print(f" Histograms shape: {histograms.shape}")
print()
print("Down-sampling and analysis completed successfully.")
if __name__ == "__main__":
demo()