Libraryless. Click here for Pure Java version (5814L/33K).
1 | static IIntegralImage scaledIntegralImage(IIntegralImage img, int w) {
|
2 | ret scaledIntegralImage(img, w, iround(w*img.getHeight()/(double) img.getWidth())); |
3 | } |
4 | |
5 | static IIntegralImage scaledIntegralImage(IIntegralImage img, int w, int h) {
|
6 | ret new IIntegralImage {
|
7 | int w1 = img.getWidth(), h1 = img.getHeight(); |
8 | double factorX = doubleRatio(w1, w); |
9 | double factorY = doubleRatio(h1, h); |
10 | double areaCorrection = 1/(factorX*factorY); |
11 | |
12 | public int getWidth() { ret w; }
|
13 | public int getHeight() { ret h; }
|
14 | |
15 | // get value for 1 channel |
16 | // normal range [0; pixelCount*256) |
17 | // TODO: test |
18 | public double getIntegralValue(int x, int y, int channel) {
|
19 | double x2 = (x+1)*factorX-1; |
20 | double y2 = (y+1)*factorY-1; |
21 | double val = img.getIntegralValue(x2, y2, channel); |
22 | ifdef scaledIntegralImage_debug |
23 | printVars scaledIntegralImage(+x, +y, +x2, +y2, +val, val2 := val*areaCorrection); |
24 | endifdef |
25 | ret val*areaCorrection; |
26 | } |
27 | }; |
28 | } |
Began life as a copy of #1027206
download show line numbers debug dex old transpilations
Travelled to 4 computer(s): bhatertpkbcr, mowyntqkapby, mqqgnosmbjvj, pyentgdyhuwx
No comments. add comment
| Snippet ID: | #1032469 |
| Snippet name: | scaledIntegralImage |
| Eternal ID of this version: | #1032469/5 |
| Text MD5: | f5912a1945d44e82ba96cb92965c6c8e |
| Transpilation MD5: | 51a81ba4011c32ceaec3f161fb2aad58 |
| Author: | stefan |
| Category: | javax / imaging |
| Type: | JavaX fragment (include) |
| Public (visible to everyone): | Yes |
| Archived (hidden from active list): | No |
| Created/modified: | 2021-09-08 05:39:41 |
| Source code size: | 1026 bytes / 28 lines |
| Pitched / IR pitched: | No / No |
| Views / Downloads: | 359 / 458 |
| Version history: | 4 change(s) |
| Referenced in: | [show references] |