different enhancement method for different sensor type

This commit is contained in:
nuknal
2024-07-18 10:24:07 +08:00
parent 17124e8396
commit 0d1fea2f5d
5 changed files with 21 additions and 13 deletions

View File

@@ -20,21 +20,21 @@ func TestGTiffToJPG(t *testing.T) {
godal.RegisterAll()
tiff := "../data/051622/006/MSS/SJY01_MSS_20240516_101236_051622_096_006.tiff"
jpg := "../data/051622/006/MSS/SJY01_MSS_20240516_101236_051622_096_006.jpg"
err := GTiffToJPG(tiff, jpg, false)
err := GTiffToJPG(tiff, jpg, "MSS", false)
if err != nil {
t.Error(err)
}
tiff = "../data/051622/006/PAN/SJY01_PAN_20240516_101236_051622_096_006.tiff"
jpg = "../data/051622/006/PAN/SJY01_PAN_20240516_101236_051622_096_006.jpg"
err = GTiffToJPG(tiff, jpg, false)
err = GTiffToJPG(tiff, jpg, "PAN", false)
if err != nil {
t.Error(err)
}
tiff = "../data/051622/006/FUS/SJY01_FUS_20240516_101236_051622_096_006.tiff"
jpg = "../data/051622/006/FUS/SJY01_FUS_20240516_101236_051622_096_006.jpg"
err = GTiffToJPG(tiff, jpg, true)
err = GTiffToJPG(tiff, jpg, "FUS", true)
if err != nil {
t.Error(err)
}

View File

@@ -11,7 +11,7 @@ import (
"starwiz.cn/sjy01/image-proc/pkg/config"
)
func GTiffToJPG(ftiff, fjpg string, reversed bool) error {
func GTiffToJPG(ftiff, fjpg, sensor string, reversed bool) error {
// 打开 TIFF 文件
ds, err := godal.Open(ftiff)
if err != nil {
@@ -58,8 +58,12 @@ func GTiffToJPG(ftiff, fjpg string, reversed bool) error {
}
channels := gocv.Split(img)
enhancement, ok := config.GCONFIG.BrowserImg.Enhancement[sensor]
if !ok {
enhancement = "NoEnhancement"
}
for i, ch := range channels {
switch config.GCONFIG.BrowserImg.Enhancement {
switch enhancement {
case StretchToCumulativeCutMinMax:
channels[i] = cumulativeCountCutEnhancement(ch,
config.GCONFIG.BrowserImg.CumulativeCutLower,

View File

@@ -169,7 +169,7 @@ func (r *Registrator) SaveScenesToTiff(panScenes []*Scene, mssScenes []*Scene) e
metaFile := strings.Replace(scene.Tiff, ".tiff", ".meta.xml", 1)
r.writeProductMeta(scene.Meta, metaFile)
jpg := strings.Replace(scene.Tiff, ".tiff", ".jpg", 1)
GTiffToJPG(scene.Tiff, jpg, false)
GTiffToJPG(scene.Tiff, jpg, "PAN", false)
r.report.Scenes = append(r.report.Scenes, ReportScene{
Name: scene.SceneId,
TiffData: scene.Tiff,
@@ -219,7 +219,7 @@ func (r *Registrator) SaveScenesToTiff(panScenes []*Scene, mssScenes []*Scene) e
metaFile := strings.Replace(scene.Tiff, ".tiff", ".meta.xml", 1)
r.writeProductMeta(scene.Meta, metaFile)
jpg := strings.Replace(scene.Tiff, ".tiff", ".jpg", 1)
GTiffToJPG(scene.Tiff, jpg, false)
GTiffToJPG(scene.Tiff, jpg, "MSS", false)
r.report.Scenes = append(r.report.Scenes, ReportScene{
Name: scene.SceneId,
TiffData: scene.Tiff,
@@ -240,7 +240,7 @@ func (r *Registrator) DoScenePansharpen(panScenes []*Scene, mssScenes []*Scene)
}
jpg := strings.Replace(fusedTiff, ".tiff", ".jpg", 1)
GTiffToJPG(fusedTiff, jpg, true)
GTiffToJPG(fusedTiff, jpg, "FUS", true)
r.report.Scenes = append(r.report.Scenes, ReportScene{
TiffData: fusedTiff,
Name: strings.TrimSuffix(filepath.Base(fusedTiff), ".tiff"),