[英]How to convert 8 bit IplImage to 24 bit IplImage in OpenCV?
I have an 8 bit IplImage
and I want to convert it to a 24 bit IplImage
. 我有一个8位的IplImage
,我想将其转换为24位的IplImage
。 How can I do this? 我怎样才能做到这一点?
Assuming your gray image is in a variable called image
- 假设您的灰色图片位于名为image
的变量中-
IplImage *rgbimage = cvCreateImage(/*whatever size*/, 8, 3);
cvCvtColor(image, rgbimage, CV_GRAY2BGR);
You need cvConvertScale this is an example from this question 您需要cvConvertScale这是这个问题的一个例子
IplImage *im8 = cvLoadImage(argv[1]);
IplImage *im32 = cvCreateImage(cvSize(im8->width, im8->height), 32, 3);
cvConvertScale(im8, im32, 1/255.);
Here you go, 干得好,
Mat input_8Bit;
vector <Mat> Vec_temp_8bit;
Vec_temp_8bit.push_back ( input_8Bit );
Vec_temp_8bit.push_back ( input_8Bit );
Vec_temp_8bit.push_back ( input_8Bit );
Mat Output_24Bit;
merge ( Vec_temp_8bit, Output_24Bit );
Please give a try, I havent checked it. 请尝试一下,我还没有检查。 But logically it should work! 但从逻辑上讲,它应该起作用!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.