暂时使用星下点坐标作为图像左上角坐标
This commit is contained in:
@@ -13,7 +13,7 @@ import (
|
||||
)
|
||||
|
||||
func (r *Registrator) SaveOriginalPanToGDALGTiff(tiffFile string) error {
|
||||
err := savePanToGDALGTiff(r.PanImage, tiffFile)
|
||||
err := savePanToGDALGTiff(r.PanImage, 0, 0, tiffFile)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -21,13 +21,7 @@ func (r *Registrator) SaveOriginalPanToGDALGTiff(tiffFile string) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (r *Registrator) SaveFilteredPanToGDALGTiff(tiffFile string) error {
|
||||
img := PANFilter(r.PanImage)
|
||||
img.ConvertTo(&img, gocv.MatTypeCV16U)
|
||||
return savePanToGDALGTiff(img, tiffFile)
|
||||
}
|
||||
|
||||
func savePanToGDALGTiff(pan gocv.Mat, tiffFile string) error {
|
||||
func savePanToGDALGTiff(pan gocv.Mat, topLeftX, topLeftY float64, tiffFile string) error {
|
||||
// log.Println("Saving PAN image to TIFF file:", tiffFile)
|
||||
|
||||
width := pan.Cols()
|
||||
@@ -40,7 +34,7 @@ func savePanToGDALGTiff(pan gocv.Mat, tiffFile string) error {
|
||||
}
|
||||
defer ds.Close()
|
||||
|
||||
setGeoTransform(ds, 0, 0, float64(width), float64(height), 1.25)
|
||||
setGeoTransform(ds, topLeftX, topLeftY, 1.25)
|
||||
ds.SetMetadata("NBITS", "16")
|
||||
|
||||
// 将通道的数据转换为uint16数组
|
||||
@@ -74,7 +68,7 @@ func (r *Registrator) SaveRegisteredMssToGDALGTiff(tiffFile string) error {
|
||||
gocv.Merge(r.registeredMssImages[:], &r.rgbirImage)
|
||||
|
||||
err := SaveBGRToGDALGTiff(r.rgbirImage,
|
||||
4, 5,
|
||||
4, 0, 0, 5,
|
||||
[]godal.ColorInterp{godal.CIBlue, godal.CIGreen, godal.CIRed, godal.CIUndefined},
|
||||
tiffFile)
|
||||
if err != nil {
|
||||
@@ -84,15 +78,11 @@ func (r *Registrator) SaveRegisteredMssToGDALGTiff(tiffFile string) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (r *Registrator) SavePansharpenedToGDALGTiff(tiffFile string) error {
|
||||
ihsImage := PansharpenIHS(r.PanImage, r.rgbirImage)
|
||||
return SaveBGRToGDALGTiff(ihsImage,
|
||||
3, 1.25,
|
||||
[]godal.ColorInterp{godal.CIRed, godal.CIGreen, godal.CIBlue},
|
||||
tiffFile)
|
||||
}
|
||||
|
||||
func SaveBGRToGDALGTiff(bgr gocv.Mat, bands int, resolution float64, colorInterps []godal.ColorInterp, tiffFile string) error {
|
||||
func SaveBGRToGDALGTiff(bgr gocv.Mat,
|
||||
bands int,
|
||||
topLeftX, topLeftY float64,
|
||||
resolution float64,
|
||||
colorInterps []godal.ColorInterp, tiffFile string) error {
|
||||
width := bgr.Cols()
|
||||
height := bgr.Rows()
|
||||
|
||||
@@ -123,8 +113,7 @@ func SaveBGRToGDALGTiff(bgr gocv.Mat, bands int, resolution float64, colorInterp
|
||||
defer ds.Close()
|
||||
|
||||
// ds.SetMetadata("NBITS", "16")
|
||||
|
||||
setGeoTransform(ds, 0, 0, float64(width), float64(height), resolution)
|
||||
setGeoTransform(ds, topLeftX, topLeftY, resolution)
|
||||
|
||||
for b := 0; b < bands; b++ {
|
||||
band := ds.Bands()[b]
|
||||
|
||||
Reference in New Issue
Block a user