代码中的tem = 255 * (tem - Min) / (Max - Min);
如何理解。
代码如下:
ReadLongWMat.create(512, 640, CV_16UC1);
LongW_FANMat.create(512, 640, CV_16UC1);
cv::flip(ReadLongWMat, LongW_FANMat, 0);
unsigned short* pData = (unsigned short*)(LongW_FANMat.data);
short tem = 0, Max = 0, Min = 32767;
for (int i = 0; i < 640; i++)
{
for (int j = 0; j < 512; j++)
{
tem = ((*(pData + (j * 640 + i))));
if (Max < tem) Max = tem;
if (Min > tem) Min = tem;
}
}
if (Max - Min <= 0)
{
Min--; Max++;
}
for (int i = 0; i < 640; i++)
{
for (int j = 0; j < 512; j++)
{
tem = ((*(pData + (j * 640 + i))));
tem = 255 * (tem - Min) / (Max - Min); //什么原理
if (tem > 255) tem = 255;
else if (tem < 0) tem = 0;
ShowLongWMat.data[j * 640 + i] = tem;
}
}