There are a few different approaches, would be something along the lines of ....
SELECT COUNT(image_date) FROM chv_images
WHERE image_date >= DATEADD(DAY,-30, GETDATE())
SQL COUNT can be a bit funny sometimes, it would be safer and cleaner to make a little PHP script then use that to count the images.
Also, image_date is a datetime field, which can also confuse SQL if it's not formatted first
"SELECT DATE_FORMAT(image_date,'%m/%d/%Y')
FROM chv_images
WHERE image_date BETWEEN NOW()- INTERVAL 30 DAY AND NOW()"
Then using PDO query ...
$no_images= $query->rowCount();
Which will return the number of rows within the 30 day time-frame
EDIT:
I just re-read your question, you wanted everything from a given month .....
"SELECT image_date FROM chv_images WHERE image_date BETWEEN '2016-04-01 00:00:00' AND '2016-04-30 23:59:59' ";
Would return the whole of April.
So many ways to do this :/