You could try binary thresholding in this case:
BW = imbinarize(img,'adaptive');
The binary image thus obtained will contain certain small noisy portions as well which can further be filtered using the bwareaopen function. Then you can use bwconncomp to extract the rice grains and get their pixel indices. I hope this helps! Edit: Also check out the regionprops function and KSSV's comment for information on additional functionalities!