深度32位图像转换为8位图像,利用 cvConvert就可以解决。也可以尝试做一个由[0,1]到[0,255]的线性映射。
具体步骤:
IplImage* gray = cvCreateImage(cvGetSize(src),IPL_DEPTH_8U,1);
for(int row=0;row<src->height;row++)
{
float* srcRowPtr = (float*)(src->imageData+row*src->widthStep);
uchar* grayRowPtr = (uchar*)(gray->imageData+row*gray->widthStep);
for(int col=0;col<src->width;col++)
*(grayRowPtr+col) = (uchar)(*(srcRowPtr+col)*255);
}
以上假设32位灰度图和8位灰度图都为单通道。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。