Closed kingrebound closed 7 years ago
Hello kingrebound,
It's strange, I change the convolution to separable convolution for just optimize the mean filter, I'll write a version of mean using integral images. Are you using to desktop or android version ?
Cheers !
Hello Diego, I'm using your framework under android.
Thanks for help!
Hello kingrebound,
The niblack/nick/sauvola/wolf are all optimized. Some results in desktop version:
Algorithm | Detais | Time (ms) |
---|---|---|
Sauvola | w/ Separable Conv + Fast Variance | 4620 |
Sauvola | w/ Integral Mean + Integral Variance | 130 |
In the android should works faster too. Can you tell me if I solved your problem ?
Cheers !
Thanks Diego for your reply.
I have just tested the new version and now I there is a new issue; in fact when the mean and var fastbitmap are instantiated if the image is big i get these errors
Throwing OutOfMemoryError "Failed to allocate a 93063180 byte allocation with 4194304 free bytes and 52MB until OOM"
java.lang.OutOfMemoryError: Failed to allocate a 93063180 byte allocation with 4194304 free bytes and 52MB until OOM
at Catalano.Imaging.FastBitmap.refresh(FastBitmap.java:161)
at Catalano.Imaging.FastBitmap.
while if the image is small I can see results, but testing with the sample image they are really bad if compared with the old version of sauvolathreshold.
Many thanks!
Hello kingrebound,
I was reading about memory heap in the Android. Check this link, maybe you can run the filters in the big images.
Hello Diego, using Sauvola Threshold filter i found that process gets stuck when the SeparableConvolution is executed. I'm applying it on an image with a resolution of about 2500x1500 and the process never ends because all the iterations SeparableConvolution performs.
Was this filter designed to handle only small resolution images? Or can this be improved for bigger resolutions?
Thanks