从TXT读取快速读取像素值数据,并显示成为图像

const int maxs = 1544 * 2304 * 2;

void analyse(char *buf_src, unsigned short *buff_dst, int len = maxs)
{
int i;
buff_dst[i = 0] = 0;
for (char *p = buf_src; *p && p - buf_src < len; p++)
{
if (*p == ' ')
{
/*cout << numbers[i] << endl;*/
buff_dst[++i] = 0;
}

else
buff_dst[i] = buff_dst[i] * 10 + *p - '0';
}
}

int main(int argc, char* argv[])
{
ifstream filestr;
filestr.open("test.txt", ios::binary);

filebuf *pbuf = filestr.rdbuf();
const long size = pbuf->pubseekoff(0, ios::end, ios::in);
pbuf->pubseekpos(0, ios::in);
auto* buffer = new char[size];
pbuf->sgetn(buffer, size);
filestr.close();
//cout.write(buffer, size);
auto*buff_dst = new unsigned short[1544 * 2304];
analyse(buffer, buff_dst, size);

const Mat image = Mat(1544, 2304, CV_16UC1);
memcpy(image.data, buff_dst, 1544*2304*2);
delete[]buffer;
return 0;
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值