Question: is there any difference between grey scale image and binary image?

Answer: 
Yes, but I'm not sure what this has to do with C++ or programming. A binary image could be an image where pixels are only either red or blue.

Binary Image: <http://en.wikipedia.org/wiki/Binary_image>

Grayscale Image: <http://en.wikipedia.org/wiki/Grayscale>
Yes,

A binary image is one that consists of pixels that can have one of exactly two colors, usually black and white. It is also called bi-level or two-level.

A gray scale image is a kind of black and white or gray monochrome are composed exclusively of shades of gray.