OpenCV에서 printf를 사용하여 화면의 픽셀 값을 계속 인쇄하려고하지만 가비지 값을 얻습니다. IPL_DEPTH_8U (8 비트 부호없는 정수) 이미지를 화면에 인쇄하고 IPL_DEPTH_32F (32 비트 부동 소수점) 이미지를 화면에 인쇄하려면 어떻게합니까? Bellow는 내가 사용하고있는 코드입니다. 잘못 됐나? 그것은 올바른 일 수 있지만, 난 그냥 내가 예상하지 않는 픽셀 값을 얻을 :opencv 이미지에서 화면에 픽셀 값 인쇄
이 단일 채널 이미지 BTW됩니다 : IPL_DEPTH_8U 이미지입니다, 나는 그것이 잘 작동 의심
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");
}
. 32 float 이미지에 대해 포인터를 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). –