1 pièce(s) jointe(s)
[imageJ] détection et sauvegarde des données d'une image un plugin à tester
Bonjour,
je tente d'écrire un plug-in qui puisse détecter et sauvegarder les contours ainsi que les textures d'une image. Je compile mon plugin en fichier jar mais il n'apparaît pas dans le menu plugin d'imagej et quand j'essaie de le compiler manuellement à partir d'imagej (compile and run sous plugin) je me retrouve avec le message suivant
Citation:
ImageDataExtractor requiert an image of type
Or, j'estime que n'importe quelles images doivent être compatibles.
Je voulais vous laisser deux choses afin que vous puissiez examiner mon problème.
1. Le projet eclipse du plug-in (ci-joint)
2. des extrat de code de :
ByteProcessor
Code:
1 2 3 4 5 6 7 8
|
case FIND_EDGES: // 3x3 Sobel filter
sum1 = p1 + 2*p2 + p3 - p7 - 2*p8 - p9;
sum2 = p1 + 2*p4 + p7 - p3 - 2*p6 - p9;
sum = (int)Math.sqrt(sum1*sum1 + sum2*sum2);
if (sum> 255) sum = 255;
System.out.println("x = "+x+"\ny = "+y);
break; |
shortProcesser
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
for (int x=roiX; x<xEnd; x++,p++) {
if (x<width-1) { p3++; p6++; p9++; }
v1 = v2; v2 = v3;
v3 = pixels2[p3]&0xffff;
v4 = v5; v5 = v6;
v6 = pixels2[p6]&0xffff;
v7 = v8; v8 = v9;
v9 = pixels2[p9]&0xffff;
double sum1 = v1 + 2*v2 + v3 - v7 - 2*v8 - v9;
double sum2 = v1 + 2*v4 + v7 - v3 - 2*v6 - v9;
double result = Math.sqrt(sum1*sum1 + sum2*sum2)+0.5;
if (result>65535.0) result = 65535.0;
if (result == 65535.0 )
System.out.println("x = "+x+"\ny = "+y);
pixels[p] = (short)result;
}
break; |
Remarque : Les lignes écrites en gras sont les lignes que je ne comprends pas.
A propos. Qu'est-ce que le gardien et comment se calcul-t-il ?
Merci d'avance pour vos réponses