Libraryless. Click here for Pure Java version (11272L/65K).
persistable sclass G22GhostImage is IBWImage { int w, h; public int getWidth() { ret w; } public int getHeight() { ret h; } // number of images averaged int imageCount; // array contains raw sum over images // (1 for white pixel, 0 for black pixel) int[] pixels; *(L<Image2B> maskImages) { imageCount = l(maskImages); if (imageCount == 0) ret; var img = first(maskImages); w = img.w(); h = img.h(); pixels = sumOfBinaryImages(maskImages); } public float getFloatPixel(int x, int y) { ret imageCount == 0 ? 0.5f : floatRatio(pixels[y*w+x], imageCount); } FloatBWImage toFloatBWImage() { float[] floatPixels = new[pixels.length]; if (imageCount == 0) fillArray(floatPixels, 0.5f); else for i over pixels: floatPixels[i] = floatRatio(pixels[i], imageCount); ret new FloatBWImage(w, h, floatPixels); } public BufferedImage getBufferedImage() { ret toFloatBWImage().getBufferedImage(); } FloatBWImage certaintyImage() { ret preciseCertaintyImage(this); } simplyCached double certainty() { if (imageCount == 0) ret 0; double sum = 0; int n = pixels.length; for i to n: sum += g22pixelCertainty(doubleRatio(pixels[i], imageCount)); ret sum/(w*h); } G22GhostImage minus(G22GhostImage img) { new G22GhostImage ghost; ghost.w = w; ghost.h = h; ghost.imageCount = imageCount-img.imageCount; ghost.pixels = intArray_minus(pixels, img.pixels); ret ghost; } }
download show line numbers debug dex old transpilations
Travelled to 2 computer(s): elmgxqgtpvxh, mqqgnosmbjvj
No comments. add comment
| Snippet ID: | #1035867 |
| Snippet name: | G22GhostImage - average image of a number of masks |
| Eternal ID of this version: | #1035867/13 |
| Text MD5: | b9ee29b430c634f53079cabf89bc13ec |
| Transpilation MD5: | a22f4ab591b92d0a78c2a150540a852f |
| Author: | stefan |
| Category: | javax / gazelle 22 |
| Type: | JavaX fragment (include) |
| Public (visible to everyone): | Yes |
| Archived (hidden from active list): | No |
| Created/modified: | 2022-08-05 19:20:35 |
| Source code size: | 1592 bytes / 60 lines |
| Pitched / IR pitched: | No / No |
| Views / Downloads: | 608 / 790 |
| Version history: | 12 change(s) |
| Referenced in: | [show references] |