Visualizzazione risultati 1 fino 3 di 3

Discussione: Consiglio per tool rimozione sfondo (PHP / API esterne)

  1. #1
    giostrumenti non è connesso Neofita
    Data registrazione
    15-10-2025
    Messaggi
    16

    Predefinito Consiglio per tool rimozione sfondo (PHP / API esterne)

    Ciao a tutti,

    Sto cercando di realizzare uno strumento per il mio sito su AlterVista che permetta di rimuovere lo sfondo dalle foto caricate dagli utenti.

    Qualche tempo fa avevo fatto dei test usando alcune librerie (non conosco quali supportate da altervista) ma con risultati molto scarsi, poiché è difficile gestire i contorni complessi senza un supporto AI.

    Qualcuno di voi ha già affrontato il problema? Sapreste consigliarmi una libreria compatibile con l'ambiente AlterVista o, ancora meglio, un'API gratuita (o con un buon piano free) che sia facile da integrare in PHP?

    Grazie in anticipo a chi saprà aiutarmi.

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    23,808

    Predefinito

    Per una IA o comunque calcoli molto complessi, sconsiglierei di far girare direttamente su AlterVista, come hai accennato dovresti usare API esterne, non so però dirti se esistano servizi per fare questo.

    Lato AlterVista puoi eseguire connessioni da PHP (CURL, fsokopen, etc) tramite porta 80 o 443.

    Ciao!

  3. #3
    laravista non è connesso Utente AlterBlog
    Data registrazione
    07-12-2019
    Messaggi
    77

    Predefinito

    C'è anche chi lo fa in puro PHP (ma io personalmente non ho verificato come funziona)

    Image Background Removal Using PHP and GD Library

    Codice PHP:
    <?php
    // Specify the path to the input and output images
    $inputImagePath = 'input.jpg';
    $outputImagePath = 'output.png';
    // Specify the background color to be removed (white in this example)
    $backgroundColor = array(255, 255, 255);
    // Load the input image
    $inputImage = imagecreatefromjpeg($inputImagePath);
    // Get the image dimensions
    $imageWidth = imagesx($inputImage);
    $imageHeight = imagesy($inputImage);
    // Create a new true color image with alpha channel
    $outputImage = imagecreatetruecolor($imageWidth, $imageHeight);
    $transparency = imagecolorallocatealpha($outputImage, 0, 0, 0, 127);
    imagefill($outputImage, 0, 0, $transparency);
    imagesavealpha($outputImage, true);
    // Loop through each pixel in the input image
    for ($x = 0; $x < $imageWidth; $x++) {
    for (
    $y = 0; $y < $imageHeight; $y++) {
    // Get the RGB values of the current pixel
    $rgb = imagecolorat($inputImage, $x, $y);
    $colors = imagecolorsforindex($inputImage, $rgb);
    // Check if the pixel color is the background color
    if ($colors['red'] === $backgroundColor[0] && $colors['green'] === $backgroundColor[1] && $colors['blue'] === $backgroundColor[2]) {
    // Make the pixel transparent in the output image
    imagesetpixel($outputImage, $x, $y, $transparency);
    } else {
    // Copy non-background pixels to the output image
    imagesetpixel($outputImage, $x, $y, $rgb);
    }
    }
    }
    // Save the output image with a transparent background
    imagepng($outputImage, $outputImagePath);
    // Free up memory
    imagedestroy($inputImage);
    imagedestroy($outputImage);
    echo
    'Image background removed and saved as ' . $outputImagePath;
    ?>

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •