OpenCV - L'algoritmo di Watershed

Open CV – L’algoritmo di Watershed per la segmentazione delle immagini

L’algoritmo di Watershed è una tecnica di segmentazione delle immagini che mira a separare un’immagine in regioni o segmenti basati sulle informazioni di gradiente. Questo algoritmo è particolarmente utile in scenari in cui si desidera separare oggetti vicini o toccanti in un’immagine. L’approccio di Watershed simula l’immagine come un paesaggio topografico, dove i picchi rappresentano i massimi locali e le valli rappresentano le separazioni tra gli oggetti. L’algoritmo quindi riempie queste “vasche” con acqua, partendo dai minimi locali e unendo le vasche quando l’acqua proveniente da differenti vasche si incontra.

OpenCV & Python - Image Thresholding

OpenCV & Python – Image Thresholding

Tra le tecniche fondamentali dell’elaborazione delle immagini nel’Image Analysis vi è l’Image Thresholding. Questa tecnica elabora un’immagine in scala di grigi suddividendola in due aree: una bianca e una nera. Quali parti dell’immagine dovranno essere bianche o nere, dipenderanno da una serie di fattori, più o meno complessi a seconda della tecnica, tutti basati su un valore di soglia.

OpenCV & Python - la libreria Matplotlib

OpenCV & Python – Utilizzare matplotlib come visualizzatore di immagini

Se stai utilizzando OpenCV in un ambiente Python, scoprirai che la libreria matplotlib è lo strumento perfetto per la visualizzazione delle immagini prodotte durante l’attività di Image Analysis. Infatti questa libreria è molto flessibile e permette di poter effettuare delle personalizzazioni e delle modalità di visualizzazione che gli strumenti interni di OpenCV non possiedono. Vedremo con un paio di esempi come visualizzare le immagini sia singolarmente che in gruppo mediante plot e subplot.

AdaBoost algorithm

L’algoritmo AdaBoost (Adaptive Boosting) con scikit-learn in Python

L’algoritmo AdaBoost è una tecnica di apprendimento di insieme che combina diversi classificatori deboli per creare un classificatore forte. Utilizzando Python e scikit-learn, implementeremo AdaBoost per la classificazione, includendo un semplice esempio con il dataset Iris. Il codice comprenderà il caricamento dei dati, la suddivisione in set di addestramento e test, l’addestramento del modello, le previsioni e la valutazione delle prestazioni. Inoltre, visualizzeremo i risultati per una comprensione più approfondita.

OpenCV & Python - Feature Detection header

Open CV & Python – Feature Detection

In OpenCV, la Feature Detection (rilevamento delle caratteristiche) è una tecnica utilizzata per identificare punti chiave distintivi o caratteristiche in un’immagine. Questi punti chiave sono localmente unici e possono essere utilizzati per confrontare e corrispondere diverse immagini, facilitando operazioni come il riconoscimento di oggetti, il tracciamento del movimento, la ricostruzione 3D e altre applicazioni di visione artificiale.

Python - L'Ereditarietà

Python e l’Ereditarietà – Quando gli oggetti sono simili

L’ereditarietà in Python è un concetto fondamentale della programmazione orientata agli oggetti, consentendo la creazione di gerarchie di classi. Quando gli oggetti condividono attributi e comportamenti simili, è possibile utilizzare l’ereditarietà per creare una classe base (superclasse) dalla quale derivano classi più specifiche (sottoclassi). Questo approccio favorisce la riutilizzabilità del codice e permette alle sottoclassi di ereditare e/o sovrascrivere i membri della superclasse.

OpenCV & Python - Image Pyramid

OpenCV & Python – Image Pyramids

Nell’Image Analysis si opera spesso sempre sulla stessa immagine mantenendola costante nella sua dimensione. Esistono però alcune elaborazioni particolari che richiedono la generazione della stessa immagine in una serie di …