If you have a colour image, such as 

    img = ImageResize[ExampleData[{"TestImage", "Apples"}], 100]

![Mathematica graphics](https://i.sstatic.net/fEsej.png)

As mentioned by JM, there is [`ImageHistogram`](http://reference.wolfram.com/language/ref/ImageHistogram.html)

    ImageHistogram[img]

![Mathematica graphics](https://i.sstatic.net/BjPkw.png)

But for some reason you have NOT explained, you want to use [`Histogram3D`](http://reference.wolfram.com/language/ref/Histogram3D.html), which takes arguments in the form of list of pairs of values.


Then the number of colour channels is 3

    ImageChannels[img]

That implies that the dimensions of the data array, is the dimensions of the pixel array and depth 3.
    
    Dimensions[ImageData[img]]
    (* {67, 100, 3} *)


So the data is incompatible.

Of course you could rearrange the data.

    Partition[Flatten[ImageData[img]], 2]

or
    
    ArrayReshape[
     ImageData[img]
     , {Times @@ Dimensions[ImageData[img]]/2, 2}
     ]

but then you are mixing the RGB values and

    {{r[1], g[1], b[1]}, {r[2], g[2], b[2]}, {r[3], g[3], b[3]}, {r[4], 
      g[4], b[4]}, {r[5], g[5], b[5]}, ... , {r[n], g[n], b[n]}}

becomes

    {{r[1], g[1]}, {b[1], r[2]}, {g[2], b[2]}, {r[3], g[3]}, {b[3], 
      r[4]}, ... , {g[n], b[n]}}