I'm trying to do thresholding with the CV2 Python module to binarize a raster image so that vegetation = 1 and everything else = 0. The problem is that when I pick a reasonable value to do the thresholding with CV (in Python) I just get a black output raster. I messed around and made a histogram to figure out why and this is what I see:
What's going on here? The actual values range from up to 2530 (I truncated the value from 0-20 because there's nothing after x = 7.5.) I changed the threshold value in CV2 to 2 and the output looks good now, but that doesn't explain why the greyscale values aren't matching up what's in QGIS.
I suspect this might have something to do with how many bits the data has. It's currently in an unsigned 16 bit format. I can't get it down to 8 bit unsigned...just "byte".
Here's what I've tried:
- raster -> convert -> transform to change the raster image to 8 bytes.
- toolbox -> SAGA -> raster normalization to change the pixel range from 0-255.
No dice! How do I fix this?