C++
LuoJun001
测绘中华,遥感世界
展开
-
使用int &作为函数参数时,存在的问题
在在使用i定义函数时,使用引用传递是一种很方便的传值方式。但是在使用int &时,博主遇到了一个很大的问题,并且找了好久才找到原因,所以在此记录一下。在利用仿射变换进行坐标转换时(地理坐标转像元坐标)时,发现得到的像素行列都为0,最终发现是double转int &时,当double的值太大(比如18000,具体的范围没有测试),转成int &时,会变成0。解决方法,修改...原创 2018-11-09 21:56:52 · 1664 阅读 · 0 评论 -
用GDAL将16位Tiff图像转为8位
关键代码:主要流程是先将16位的像素指针强制转成uint16_t*,方便进行指针运算,因为原始的指针是char*。注意:指针移动的字节长度等与指针所指类型的字节长度(原来指针类型强制转换这么有用)然后通过uint16_t获取16位像素的值,再赋值给8位像素值。通过指针运算进行取值,不同类型的指针移动长度不一样,同时取值时根据指针类型进行取值。if (eDT ==GDT_UInt16...原创 2019-05-29 21:09:12 · 4909 阅读 · 2 评论