It’s a declaration of several variables in one line.
Without obfuscation, it is equivalent to this:
Mat gray;
Mat smallImg( cvRound (img.rows/scale), cvRound(img.cols/scale), CV_8UC1 );
which shouldn’t need any further explanation.
(In Ancient Times, when storage was sparse and terminals showed 24 lines of code, if you were lucky, using multiple-variable declarations made more sense than it does now.)
solved Unknown C++ statement