Dans mon dessin, vous disposez d'un groupe de mini-images qui constitueront une image d'entrée.
Actuellement, mon entrée est une image d'une main et mes petites images sont: https://imgur.com/a/0Y5s9
(les 3 tests mini images sont transparentes, donc faites-les glisser de Imgur, ils sont actuellement en noir)
et ma sortie actuelle ressemble à ceci: Je ne suis pas sûr de savoir pourquoi ils se chevauchent comme ça, j'ai rendu l'arrière-plan de chaque mini-image transparente afin qu'ils puissent se chevaucher, donc j'ai besoin d'un moyen de les redimensionner.Utilisation de mini-images pour constituer une image (traitement)
Mon problème principal que je voudrais résoudre est que je dois m'assurer que mes mini-images ne constituent que la main, et non le fond blanc autour de la main. Je me suis dit que si les mini-images étaient seulement assignées aux nuances de la main, alors le fond blanc ne compterait même pas.
Je ne sais pas comment faire cela. Aidez-moi?
CODE:
final int len=25;
final float thresh=170;
boolean newDesign=false;
PImage pic;
ArrayList<PImage> imgContainer;
int n=3;
void setup() {
size(800, 800, P2D);
colorMode(RGB, 255);
background(250, 250, 250);
rectMode(CENTER);
//imageMode(CENTER);
pic=loadImage("hand.jpg");
pic.resize(width, height);
color c1 = color(200,25,25);
color c2 = color(25, 255, 200);
imgContainer=new ArrayList<PImage>();
PImage pimg1=loadImage("test0.png");
pimg1.resize(50, 50);
imgContainer.add(pimg1);
PImage pimg2=loadImage("test1.png");
pimg2.resize(50, 50);
imgContainer.add(pimg2);
PImage pimg3=loadImage("test2.png");
pimg1.resize(50, 50);
imgContainer.add(pimg3);
noLoop();
noStroke();
}
void draw() {
if (newDesign==false) {
return;
}
pic.loadPixels();
for (int y = 0; y < height; y+=18) {
for (int x = 0; x < width; x+=18) {
// Get the color stored in the pixel
int index=y*width+x;
color pixelValue = pic.pixels[index];
// Determine the brightness of the pixel
float pixelBrightness = brightness(pixelValue);
float imgPicked=constrain(pixelBrightness/thresh, 0, n-1);
image(imgContainer.get((int)imgPicked),x,y);
}
}
}
void mouseReleased() {
newDesign=!newDesign;
redraw();
}
Veuillez corriger le format de votre code en collant votre code dans l'éditeur, en le mettant en surbrillance, puis en appuyant sur le bouton code pour le formater en un seul bloc au lieu de formater chaque ligne comme un bloc séparé. Veuillez également fournir un lien vers tous les fichiers image dont nous avons besoin. Mieux encore, publiez un lien vers un CodePen qui affiche votre programme en cours d'exécution. –
Correction, désolé à ce sujet. Vous pouvez faire glisser toutes les images de imgur et itll travailler. – guyintightpants
Je ne suis pas encore tout à fait sûr de l'effet que vous voulez obtenir. Avez-vous une idée de ce que vous attendez de ce code? Que veux-tu dire exactement quand tu dis * "Je me suis dit que si les mini-images étaient seulement assignées aux ombres de la main, alors le fond blanc ne compterait même pas" *? Où n'attribuez-vous rien aux nuances de la main? –