parametres input
This commit is contained in:
@@ -1,9 +1,10 @@
|
||||
package imageproc
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"image"
|
||||
|
||||
log "github.com/sirupsen/logrus"
|
||||
|
||||
"gocv.io/x/gocv"
|
||||
)
|
||||
|
||||
@@ -13,14 +14,12 @@ const (
|
||||
|
||||
// IHS 变换是一种将 RGB 空间转换为亮度、色调和饱和度的变换方法
|
||||
func PansharpenIHS(panImage, mssImage gocv.Mat) gocv.Mat {
|
||||
// pan32 := gocv.NewMat()
|
||||
// defer pan32.Close()
|
||||
// panImage.ConvertTo(&pan32, gocv.MatTypeCV32FC1)
|
||||
|
||||
log.Println("start pansharpen IHS")
|
||||
mss32F := gocv.NewMat()
|
||||
mssImage.ConvertTo(&mss32F, gocv.MatTypeCV32FC4)
|
||||
|
||||
// 调整 MSS 图像的大小到与 PAN 图像相同的大小
|
||||
log.Println("resize mss to pan size")
|
||||
mssResized := gocv.NewMat()
|
||||
defer mssResized.Close()
|
||||
gocv.Resize(mss32F, &mssResized,
|
||||
@@ -37,8 +36,6 @@ func PansharpenIHS(panImage, mssImage gocv.Mat) gocv.Mat {
|
||||
// Saturation
|
||||
hlsChannels := gocv.Split(mssHLS)
|
||||
|
||||
fmt.Println("size of channels:", len(hlsChannels), mssImage.Channels(), mssResized.Channels(), mssHLS.Channels())
|
||||
|
||||
// 使用 PAN 图像替换亮度分量(Intensity)
|
||||
// hlsChannels[1] = pan32
|
||||
|
||||
@@ -46,6 +43,7 @@ func PansharpenIHS(panImage, mssImage gocv.Mat) gocv.Mat {
|
||||
panFloat := gocv.NewMat()
|
||||
defer panFloat.Close()
|
||||
panImage.ConvertTo(&panFloat, gocv.MatTypeCV32F)
|
||||
log.Println("normalize pan to 0-255")
|
||||
gocv.Normalize(panFloat, &panFloat, 0, 255, gocv.NormMinMax)
|
||||
|
||||
hlsFloat := gocv.NewMat()
|
||||
@@ -62,6 +60,7 @@ func PansharpenIHS(panImage, mssImage gocv.Mat) gocv.Mat {
|
||||
// 将图像从 HLS 转换回 BGR
|
||||
fusedImage := gocv.NewMat()
|
||||
defer fusedImage.Close()
|
||||
log.Println("cvt color from HLS to BGR")
|
||||
gocv.CvtColor(mssHLS, &fusedImage, gocv.ColorHLSToBGR)
|
||||
|
||||
// 交换 B 和 R 通道
|
||||
|
||||
Reference in New Issue
Block a user