gpt4 book ai didi

Opencv 2.4.3 如何将 IPL_DEPTH_8U 转换为 IPL_DEPTH_32F?

转载 作者:太空宇宙 更新时间:2023-11-03 21:28:10 24 4
gpt4 key购买 nike

char* filename1="1.bmp";  
IplImage* greyLeftImg= cvLoadImage(filename1,0);
char* filename2="2.bmp";
IplImage* greyRightImg= cvLoadImage(filename2,0);

IplImage* greyLeftImg32=cvCreateImage(cvSize(width,height),32,greyLeftImg->nChannels);//IPL_DEPTH_32F
IplImage* greyRightImg32=cvCreateImage(cvSize(width,height),32,greyRightImg->nChannels);

总是失败,说“断言失败(src.size == dst.size && dst.type() == CV_8UC(src.channels())) in unknown function”

我找了很多方法,但似乎都没有用?

最佳答案

将 opencv 中的任何灰度 8 位或 16 位 uint 图像转换为 32 位浮点类型的简单步骤如下...

IplImage* img = cvLoadImage( "E:\\Work_DataBase\\earth.jpg",0);
IplImage* out = cvCreateImage( cvGetSize(img), IPL_DEPTH_32F, img->nChannels);

double min,max;

cvMinMaxLoc(img,&min,&max);

// Remember values of the floating point image are in the range of 0 to 1, which u
// can't visualize by cvShowImage().......
cvCvtScale(img,out,1/ max,0);

希望这是简单的方法...

关于Opencv 2.4.3 如何将 IPL_DEPTH_8U 转换为 IPL_DEPTH_32F?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14141752/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com