CentOS重启后无法上网fread与imread读图片的差别(2)

结果同事告诉我,是bmp的编码格式问题:https://blog.csdn.net/herbenlam/article/details/53432004   这里说明了bmp是按从下到上编码的(这也表现在 fread(&bmpWidth,4,1,pFile); fread(&bmpHeight,4,1,pFile); 这两句得到的高宽是负数,负数表示从下到上,正数表示从上到下),而opencv是将bmp的从下到上转化了一下转化为从上到下在Mat.data里。而fread(bmp)和fwrite(bmp)都是从最后一行读(写)到第一行从而完成对bmp图像的读(写)。

所以我比较了readBmp2Ptrwhole()读出来的最后一行与opencv的imread的Mat.data的第一行,果然数据一致了。

哎,想问题不够深入。

Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/12640.html