DiegoCatalano / Catalano-Framework

Framework
GNU Lesser General Public License v3.0
295 stars 99 forks source link

Separable convolution #23

Closed kingrebound closed 7 years ago

kingrebound commented 8 years ago

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

DiegoCatalano commented 8 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 !

kingrebound commented 8 years ago

Hello Diego, I'm using your framework under android.

Thanks for help!

DiegoCatalano commented 8 years ago

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 !

kingrebound commented 8 years ago

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.(FastBitmap.java:97)

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!

DiegoCatalano commented 8 years ago

Hello kingrebound,

I was reading about memory heap in the Android. Check this link, maybe you can run the filters in the big images.