CのOpenCVでprintfを使用して画面のピクセル値を出力しようとしていますが、ガベージ値を取得するだけです。 IPL_DEPTH_8U(8ビット符号なし整数)イメージを画面に出力し、IPL_DEPTH_32F(32ビット浮動小数点)イメージを画面に出力するにはどうすればよいですか?ベローは私が使用しているコードです。違いますか?それは正しいかもしれないが、私はちょうど私が予想していないピクセル値を取得する:opencv画像から画面にピクセル値を出力する
これらはところで、単一チャンネルの画像です:
for (y = 0; y < img->height; y++){
uchar *ptr = (uchar*)(img->imageData + y * img->widthStep);
for (x = 0; x < img->width; x++){
printf("%u, ", ptr[x]);
}
printf("\n");
}
IPL_DEPTH_8U画像のためである、と私はそれが正常に動作している疑いがあること。 32浮動画像の場合、私はポインタをfloat *に変更し、printfの指定子を '%f'に変更しても動作しないようです。なにが問題ですか?
これらは正しいポインタと指定子ですか?また、16ビット符号付き整数と32ビット符号付き浮動小数点のポインタと指定子は何ですか?
ありがとうございました。私はちょうどこのウェブサイトを使い始めると、皆さんは素晴らしいです!
この[link](http://www.cs.iit.edu/~agam/cs512/lect-notes/opencv-intro/opencv-intro.html)またはこの[link](http:// blog.adnannoon.com/tag/access-pixel-values-of-opencv-image)。 –