2D wavelet transform is well suited. It's an extension of 1D CWT where we correlate wavelets of different center frequencies and "scales" (widths in time domain).
Wavelets can be calibrated to detect
fast or slow variations
over small, localized or large, spread out parts of image
The output is a 3D array indexed as:
x: x-coordinate of wavelet ...
In general, the approach to take, is to have a local feature which has high value for such areas in the image.
There are many approaches to shape such a feature.
Probably the easiest one would be by local variance.
I tried 3 different approaches to this:
Local Variance by a Filter.
Local Variance of a Super Pixel.
Using the Weak Texture from Noise Level ...