Attention! This forum will be made read-only by Dec-20. Please migrate to https://forum.opencv.org. Most of existing active users should've received invitation by e-mail.
So compute the gradients Gx and Gy of the image, and in a given region compute the PCA on the gradients. Let L1 and L2 be the first two principal components
If L1/L2 is high, than the image has directional gradients, so it's probably grass. If L2 is high, then you have a rough surface; if L1 has a low value, the region is smooth.