分景后配准

This commit is contained in:
nuknal
2024-11-01 09:19:42 +08:00
parent e51d07901d
commit 75e4dd6d90
7 changed files with 191 additions and 58 deletions

View File

@@ -0,0 +1,36 @@
package producer
import (
"github.com/sirupsen/logrus"
"gocv.io/x/gocv"
)
// 分景后再做配准
func (r *ImgProc) RegisterScenes(pan, mss *Scene) error {
proc := NewImgProc(DownSampled)
proc.PanImage = pan.Mat[0]
proc.MssImages = [4]gocv.Mat{mss.Mat[0], mss.Mat[1], mss.Mat[2], mss.Mat[3]}
proc.MssHeight = mss.Height
proc.MssWidth = mss.Width
proc.PanHeight = pan.Height
proc.PanWidth = pan.Width
err := proc.DoPhaseCorrelation(false)
if err != nil {
logrus.Error("register scene failed: ", err)
return err
}
pan.Height = proc.PanHeight
pan.Width = proc.PanWidth
pan.Mat[0] = proc.PanImage
mss.Height = proc.MssHeight
mss.Width = proc.MssWidth
for i := 0; i < 4; i++ {
mss.Mat[i].Close()
mss.Mat[i] = proc.registeredMssImages[i]
}
return nil
}