arnapou/image-cropper

Project - Local image tools for cropping

Installs: 1

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Forks: 0

Type:project

v4.0 2023-11-25 14:32 UTC

This package is auto-updated.

Last update: 2024-04-29 21:47:43 UTC


README

pipeline coverage

Simple outil web (installation locale docker avec volumes) pour faire de la découpe d'image.

Sa force est dans l'absence totale de dépendances : php et javacsript "natifs".

Installation

Ce projet s'installe en local et permet de traiter des images mises dans public/images. Le moyen le plus simple est un docker-compose puis d'ouvrir http://localhost:8080

composer create-project arnapou/image-cropper

cd image-cropper
docker compose up 

packagist 👉️ arnapou/image-cropper

⚠️ Les ports non-standard sont bloqués dans la config de certains browsers comme Firefox avec son option network.security.ports.banned.override dans about:config à mettre à la valeur 1-65535

Histoire

J'ai créé cet outil web 10 ans après deux outils analogues que j'ai réalisé en C# en 2011.

Les objectifs étaient :

  • pouvoir faciliter l'utilisation de ces outils hors contexte "Windows" de Microsoft
  • ne dépendre de rien : développement from scratch sans aucun framework
  • m'amuser avec PHP 8 dans un contexte typage + analyse statique
  • développer rapidement : environ 30h de taf
  • une seule dépendance obligatoire : l'extension php Imagick

Petite vidéo de démo

Demo

Description des outils

Cropper

Objectif :

  • extraire un objet d'une image à fond blanc en la croppant en carré

Légende :

  1. image sélectionnée sur laquelle on clique pour créer les marqueurs (croix) en (2)
  2. seuillage automatique de l'image avec les marqueurs en plus pour permettre trouver les bornes de croppage : utilise le seuil paramétrable en (4)
  3. aperçu du crop final avec les marges scalées (5)
  4. plusieurs seuils possibles de détection
  5. échelle de la marge rajoutée autour du crop
  6. liste de toutes les images à traiter, celles déjà traitées sont marquée en vert

Cropper with legend

Rectangle

Objectif :

  • extraire plusieurs objets rectangulaires d'une image en croppant et tournant automatiquement les élements

Légende :

  1. image sélectionnée sur laquelle on clique pour poser les marqueurs de chaque coins de rectangle (2)
  2. aperçu des marqueurs et de la zone couverte par la sélection
  3. aperçu de la zone tournée et croppée automatiquement
  4. liste de toutes les images à traiter avec celles déjà traitées de marquées en vert
  5. seuil de contrôle de qualité de l'orthogonalité des quatre cotés
  6. possibilité d'ajuster corriger l'angle si besoin
  7. margin extérieure ajoutée si besoin (cas de rectangle à bordure blanche difficile à cliquer)
  8. ajouter le rectangle croppé à la liste des crops de cette image
  9. visualisation des "ajouts" déjà effectués
  10. enregistrement de toutes les images en (9)

Rectangle with legend

Changelog versions

StartTag, BranchPhp
25/11/20234.x, main8.3
01/01/20233.x8.2
02/02/20222.x8.1
13/03/20211.x8.0