default channel order of OpenCV is BGR
This commit is contained in:
@@ -23,7 +23,7 @@ func (r *Registrator) SaveFilteredPanToGDALGTiff(tiffFile string) error {
|
||||
}
|
||||
|
||||
func savePanToGDALGTiff(pan gocv.Mat, tiffFile string) error {
|
||||
log.Println("Saving PAN image to TIFF file:", tiffFile)
|
||||
// log.Println("Saving PAN image to TIFF file:", tiffFile)
|
||||
|
||||
width := pan.Cols()
|
||||
height := pan.Rows()
|
||||
@@ -65,28 +65,12 @@ func savePanToGDALGTiff(pan gocv.Mat, tiffFile string) error {
|
||||
}
|
||||
|
||||
func (r *Registrator) SaveRegisteredMssToGDALGTiff(tiffFile string) error {
|
||||
width := r.MssWidth
|
||||
height := r.MssHeight
|
||||
|
||||
// 创建合并后的图像(RGBIR)
|
||||
r.rgbirImage = gocv.NewMatWithSize(height, width, gocv.MatTypeCV16UC4) // 4通道,16位
|
||||
|
||||
for y := 0; y < height; y++ {
|
||||
for x := 0; x < width; x++ {
|
||||
blue := r.registeredMssImages[0].GetShortAt(y, x)
|
||||
green := r.registeredMssImages[1].GetShortAt(y, x)
|
||||
red := r.registeredMssImages[2].GetShortAt(y, x)
|
||||
ir := r.registeredMssImages[3].GetShortAt(y, x)
|
||||
r.rgbirImage.SetShortAt(y, x*4+0, blue)
|
||||
r.rgbirImage.SetShortAt(y, x*4+1, green)
|
||||
r.rgbirImage.SetShortAt(y, x*4+2, red)
|
||||
r.rgbirImage.SetShortAt(y, x*4+3, ir)
|
||||
}
|
||||
}
|
||||
r.rgbirImage = gocv.NewMat()
|
||||
gocv.Merge(r.registeredMssImages[:], &r.rgbirImage)
|
||||
|
||||
return SaveBGRToGDALGTiff(r.rgbirImage,
|
||||
4, 5,
|
||||
[]godal.ColorInterp{godal.CIBlue, godal.CIGreen, godal.CIRed, godal.CIAlpha},
|
||||
[]godal.ColorInterp{godal.CIBlue, godal.CIGreen, godal.CIRed, godal.CIUndefined},
|
||||
tiffFile)
|
||||
}
|
||||
|
||||
@@ -99,8 +83,6 @@ func (r *Registrator) SavePansharpenedToGDALGTiff(tiffFile string) error {
|
||||
}
|
||||
|
||||
func SaveBGRToGDALGTiff(bgr gocv.Mat, bands int, resolution float64, colorInterps []godal.ColorInterp, tiffFile string) error {
|
||||
log.Println("Saving BGR to TIFF file:", tiffFile)
|
||||
|
||||
width := bgr.Cols()
|
||||
height := bgr.Rows()
|
||||
|
||||
@@ -130,7 +112,7 @@ func SaveBGRToGDALGTiff(bgr gocv.Mat, bands int, resolution float64, colorInterp
|
||||
}
|
||||
defer ds.Close()
|
||||
|
||||
ds.SetMetadata("NBITS", "16")
|
||||
// ds.SetMetadata("NBITS", "16")
|
||||
|
||||
setGeoTransform(ds, 0, 0, float64(width), float64(height), resolution)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user