<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Récemment, un client m'a posé cette question :
Je travaille avec votre analyseur d'images et j'ai une demande qui, je pense, ne serait pas difficile à mettre en œuvre (dit le hack JSL).Pourriez-vous ajouter une option pour charger uniquement chaque xième pixel ?
La réponse est oui, je pourrais le faire pour la prochaine version d'Image Analyzer, et ce ne serait pas si difficile à faire. Mais une façon d’obtenir un résultat similaire consiste désormais à redimensionner l’image dans JMP. L'utilisateur a ensuite expliqué qu'il souhaitait simplement un échantillon de pixels. Ils n’avaient pas vraiment besoin de chaque pixel et c’était au départ une grande image. Ma suggestion était donc de faire quelque chose comme ceci :
img = newImage("$SAMPLE_IMAGES/tile.jpg");
img << échelle (0,5);
newWindow("Image mise à l'échelle", img);
saveImage("scaledTile.jpg");
Cela réduira l'image à 1/4 de la taille d'origine (1/2 de la largeur x 1/2 de la hauteur), donnant à l'utilisateur un échantillon de pixels. À propos, vous pouvez spécifier deux arguments pour redimensionner la largeur et la hauteur selon des valeurs différentes.
img << échelle (0,5, 0,2);
L’utilisation de cette mise à l’échelle vous donnera 1/10ème de la taille d’origine, ce que demandait ce client particulier. Je dois vous avertir que la mise à l'échelle d'une image modifiera les valeurs des pixels et que vous obtiendrez des valeurs interpolées. Cela peut ou non être un problème pour vous, selon ce que vous faites. Si vous effectuez une analyse des couleurs, cela ne vous posera probablement pas de problème, mais si vous recherchez des valeurs spécifiques dans les données, l'interpolation modifiera ces valeurs.
J'espère que ça aide!