Photoshop: découper une photo pour qu'elle ne contienne pas de pixels transparents?

32

Dans Photoshop, j'ai rassemblé des photos panoramiques à l'aide de l'outil Photomerge, et l'image résultante contient beaucoup de pixels transparents. De plus, comme il est assemblé à partir de plusieurs photos, l'alignement peut être désactivé. Ce que j'aimerais faire, c'est couper l'image dans la plus grande boîte qui ne contient aucun pixel transparent. Il est similaire à l'outil Trim, mais cela supprimerait un certain nombre de pixels non transparents. Y a-t-il quelque chose comme ça?

Fondamentalement, quelque chose qui recadrerait automatiquement l'image ci-dessus dans la zone de sélection: un rectangle sans pixels transparents.

nickf
la source
Habituellement, vous pouvez tout sélectionner sur le calque et il supprimera les pixels vides (transparents).
jweede
oui, mais je veux le découper en un rectangle qui ne contient pas de pixels transparents. je vais modifier pour clarifier cela.
nickf
Vous imaginez que c'est une fonctionnalité simple, mais Photoshop ne peut tout simplement pas le faire sans script, et un tel script est facile à écrire - car vous recherchez essentiellement un plus grand rectangle possible dans l'image en fonction de la rotation actuelle. Je vais probablement en écrire un moi-même et le partager.
Aero Windwalker

Réponses:

33

Image> Découper puis sélectionnez Basé sur: Pixels transparents

Caleb
la source
8
Cela ne fonctionne que si la zone à découper est rectangulaire. Cela ne fonctionnera pas pour les formes arbitraires comme dans l'exemple de l'OP.
laurent
3

En utilisant CS6, ce qui suit fait exactement ce qui est requis pour moi:

  1. sélectionner l'outil de recadrage
  2. sélectionnez «redresser»
  3. dessiner le long d'une ligne droite connue
  4. la rotation est effectuée immédiatement et un recadrage suggéré apparaît en coupant tous les pixels transparents résultant de la rotation.

résultat: magnifique!

Pete C
la source
Cela ne fonctionne que si l'image est rectangulaire.
Aero Windwalker
Bien que ce ne soit peut-être pas ce que le PO a demandé, c'est exactement ce que je cherchais. Merci!
Nit
2

Il y a plusieurs approches différentes que j'adopterais pour cela, mais je ne peux pas penser à un moyen de le faire automatiquement.

Créez d'abord un calque de remplissage ci-dessous avec une couleur vive. Cela vous montre tous les pixels semi-transparents laissés par la fusion d'images.

Deuxièmement, dupliquez le calque supérieur avec votre image. Continuez à dupliquer votre calque d'image d'origine jusqu'à ce que toute couleur du calque de remplissage ci-dessous ait disparu. Cela a pour effet de rendre tous les pixels semi-transparents complètement opaques et n'affecte pas le reste de l'image tel qu'il est déjà.

Enfin, fusionnez tous ces calques et recadrez à la taille souhaitée. Vous pouvez recadrer au début si vous le souhaitez, cela ne fait aucune différence.

Si une zone de pixels donnée n'a pas de remplissage, plutôt que de la recadrer, pourquoi ne pas la cloner avec l'outil de clonage?

nemof
la source
2

Juste au cas où Photoshop ne vous offrirait aucune solution:

J'utilise Microsoft ICE ou Autopano Pro pour l'assemblage de photos, et ils ont tous deux des fonctionnalités de recadrage très simples à utiliser pour y parvenir.

Vous devriez peut-être essayer d'utiliser un autre outil pour l'assemblage - ICE est gratuit, cela vaut peut-être la peine d'essayer.

Sam
la source
Je n'ai trouvé aucun bon choix pour l'assemblage autre que Photoshop. C'est tout simplement génial ... J'ai ouvert 2 documents contenant un ensemble d'images numérisées et quelques paramètres dans une boîte de dialogue et je l'ai laissé fonctionner, les assemblant parfaitement!
RCIX
1

Faites un nouveau calque et Éditez - Remplissez ... avec du noir.

Maintenant, avec les deux calques visibles et le calque d'image sélectionné, utilisez Magic Wand, et avec "Sample All Layers" et "Contiguous" cochés, sélectionnez la zone transparente devenue noire.

Appuyez sur supprimer. Tous les pixels transparents contigus doivent être supprimés.

user3802871
la source
Je n'ai jamais utilisé Photoshop (et je ne l'ai pas), donc je ne peux pas dire ce que cela fera. Que fait la «suppression» d'un pixel? Va-t-il supprimer les pixels non transparents? (Vous comprenez que l'OP veut recadrer l'image, non?) Et PS N'y a-t-il pas un risque que des pixels noirs qui font légitimement partie de l'image soient projetés avec l'eau du bain? PPS Vous pourriez améliorer votre réponse avec des illustrations; c'est-à-dire, avant et après les images. PPPS Veuillez ne pas répondre dans les commentaires; modifiez votre réponse pour la rendre plus claire et plus complète.
Scott
0

Ce à quoi je peux penser, c'est:

a) Création de scripts Photoshop [ 1 2 ]

b) Matlab [ 3 ]

Regarde. En attendant, je vais chercher des liens qui expliquent mieux comment cela peut être fait ou probablement écrire du code Matlab pour cela, puis éditer ce post.

Lazer
la source
0

Si vous ne trouvez pas d'outil automatique et que vous devez finir par le faire à la main, ce tutoriel vous montrera comment le faire avec l'outil de sélection à une seule ligne, ce qui est beaucoup plus facile que l'outil normal lorsque vous essayez de Haut.

Deverill
la source
0

Vous devez Tout sélectionner, puis appuyez à droite puis à gauche sur votre clavier pour sélectionner simplement les pixels opaques sans finalement en déplacer aucun, puis appuyez sur Recadrer. Cela ne limitera que les pixels opaques.

Pixelmaster69
la source
0

Cela peut être fait avec un script comme celui ci-dessous:

  1. Téléchargez le script ici: https://developer71240.github.io/crop-to-opaque/
  2. Extraire le fichier zip téléchargé
  3. Avec l'image à rogner ouverte dans Photoshop, choisissez Fichier > Ouvrir
  4. Naviguez jusqu'aux fichiers de script extraits, sélectionnez crop-to-opaque.jsx et choisissez Ouvrir

Remarque: l'image sera rognée en fonction du calque courant qui doit avoir un canal alpha.

developer71240
la source