How to convert an 8-bit OpenCV IplImage* to a 32-bit IplImage*?

后端 未结 6 1038
我寻月下人不归
我寻月下人不归 2020-12-06 06:25

I need to convert an 8-bit IplImage to a 32-bits IplImage. Using documentation from all over the web I\'ve tried the following things:

// general code
img2 =         


        
6条回答
  •  温柔的废话
    2020-12-06 06:30

    IplImage *img8,*img32;
    img8 =cvLoadImage("a.jpg",1);

        cvNamedWindow("Convert",1);
        img32 = cvCreateImage(cvGetSize(img8),IPL_DEPTH_32F,3);
        cvConvertScale(img8,img32,1.0/255.0,0.0);
    

    //For Confirmation Check the pixel values (between 0 - 1)

        for(int row = 0; row < img32->height; row++ ){
                    float* pt = (float*) (img32->imageData + row * img32->widthStep);
                    for ( int col = 0; col < width; col++ )
                                printf("\n %3.3f , %3.3f , %3.3f ",pt[3*col],pt[3*col+1],pt[3*col+2]);                  
                }
    
        cvShowImage("Convert",img32);
        cvWaitKey(0);
        cvReleaseImage(&img8);
        cvReleaseImage(&img32);
        cvDestroyWindow("Convert");
    

提交回复
热议问题