37 lines
782 B
Go
37 lines
782 B
Go
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
|
|
}
|