do not use IHS

This commit is contained in:
nuknal
2024-05-28 15:15:53 +08:00
parent 538fb71110
commit 5eb5ae6a72
12 changed files with 346 additions and 46 deletions

View File

@@ -2,6 +2,9 @@ package imageproc
import (
"image"
"os"
"os/exec"
"strings"
log "github.com/sirupsen/logrus"
@@ -78,3 +81,33 @@ func PansharpenIHS(panImage, mssImage gocv.Mat) gocv.Mat {
return fused16U
}
func GDALPansharpen(panTiff, mssTiff string) (string, error) {
fusedTIff := strings.Replace(mssTiff, "MSS", "FUS", 1)
// pansharpenCmd := exec.Command("gdal_pansharpen.py", "-w 0.6 -w 0.1 -w 0.3 -w 0 -b 3 -b 2 -b 1", panTiff, mssTiff, fusedTIff, "-r cubic", "-of GTiff")
pansharpenCmd := exec.Command("gdal_pansharpen.py",
"-w", "0.6", "-w", "0.1", "-w", "0.3", "-w", "0",
"-b", "3", "-b", "2", "-b", "1",
"-r", "cubic", "-of", "GTiff",
panTiff,
mssTiff,
fusedTIff)
log.Println("Run Command: ", pansharpenCmd.String())
pansharpenCmd.Stdout = os.Stdout
pansharpenCmd.Stderr = os.Stderr
return fusedTIff, pansharpenCmd.Run()
}
func GDALTranslate(srcTiff, dstJPG string) error {
if dstJPG == "" {
dstJPG = strings.TrimSuffix(srcTiff, ".tiff") + ".jpg"
}
// gdal_translate -of JPEG -outsize 50% 50% -r bilinear input.tif output.jpg
cmd := exec.Command("gdal_translate", "-of", "JPEG",
"-scale",
srcTiff, dstJPG)
log.Println("Run Command: ", cmd.String())
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
return cmd.Run()
}