我踩过的坑(问题/原理)
1.数据类型需要和图像位深一一对应,否则会出现奇怪的错误(其实就是因为libtiff的内存存储原理不明白,后总结规律就是需要数据类型和位深一一对应)
8位——uint8,16位——uint16,32位——uint32
2.16位图像相较于8位图像的读入和写出方式中“*2”的问题:
(根源之一:TIFFStripSize函数返回的到底是什么??C++ TIFFStripSize函数代码示例 - 纯净天空 (vimsky.com))
(根源之二:Tiff中不同位深的图像在内存中的布局到底是怎样的?这样的布局和读写之间有着怎样的调用关系??)
(根源之三:Tiff库对图像数据存储的布局方式??)
写出时:16位和8位图像在写出时有个2倍的关系