Image color-moment extractor
Python 2 is end of life, many core libraries and tools are dropping Python 2 support.
Python is dumb. If you tell it to calculate (1/(new_height*new_width) each and every loop, then Python will.
Your style is not Pythonic, you should have more whitespace.
If we change one of the for loops in calculate_mean to math, we can see we can that ¶2 isn't needed inside the loop.

for p in pixel_image_y:
    color_moments[0]+=(1/(new_height*new_width))*int(p)


$$
\Sigma \frac{\lfloor p \rfloor}{hw} = \frac{\Sigma \lfloor p \rfloor}{hw}
$$
We can utilize numpy to perform the loop, in calculate_standard_deviation, in C.

color_moments[3] = (
    np.sum((pixel_image_y - color_moments[0]) ** 2)
    * math.sqrt((1/(new_height*new_width))
)

You should change calculate_mean and calculate_standard_deviation to either work in one dimension or all dimensions.
You should remove color_moments from your code. You should return if you need to return.
You can determine new_height*new_width by the values you enter in your function. No need to pass them.


def mean(values):
    return sum(int(v) for v in values) / len(values)

def std_deviation(values):
    return np.sum((values - mean(values)) ** 2) / math.sqrt(len(values))