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
Or, j'estime que n'importe quelles images doivent être compatibles.ImageDataExtractor requiert an image of type
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
shortProcesser
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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;
Remarque : Les lignes écrites en gras sont les lignes que je ne comprends pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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;
A propos. Qu'est-ce que le gardien et comment se calcul-t-il ?
Merci d'avance pour vos réponses
Partager