わかりました...何が欠けているのかわかりませんが、opencvのドキュメントには、IplImageからマットを作成できると書かれています。IplImageを持っていますが、マットを作成した後、深度情報が失われます。calcHist関数に渡す前に、深度情報を確認する必要があります。
cout<<"image depth:"<<image->depth<<endl;
cout<<"image size: "<<image->height<<" "<<image->width<<endl;
Mat src(image);
cout<<"src depth:"<<src.depth()<<endl;
cout<<"src size: "<<src.size().height<<" "<<src.size().width<<endl;
私の出力は次のようになります。深度情報がなくなったことに注意してください。
image depth:8
image size: 257 109
src depth:0
src size: 257 109