parametres input
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
package imageproc
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"fmt"
|
||||
"image"
|
||||
"image/color"
|
||||
@@ -31,6 +30,8 @@ const (
|
||||
type ResampleMethod string
|
||||
|
||||
type Registrator struct {
|
||||
Params Params
|
||||
|
||||
PanImage gocv.Mat
|
||||
PanHeight int
|
||||
PanWidth int
|
||||
@@ -50,15 +51,15 @@ type Registrator struct {
|
||||
resampleMethod ResampleMethod
|
||||
}
|
||||
|
||||
func NewRegistrator() *Registrator {
|
||||
func NewRegistrator(rsmethod ResampleMethod) *Registrator {
|
||||
var r Registrator
|
||||
r.resampleMethod = DownSampled
|
||||
r.resampleMethod = rsmethod
|
||||
|
||||
return &r
|
||||
}
|
||||
|
||||
func (r *Registrator) LoadPanRaw(raw string) error {
|
||||
data, err := os.ReadFile(raw)
|
||||
func (r *Registrator) LoadPanRaw() error {
|
||||
data, err := os.ReadFile(r.Params.PanRawFile)
|
||||
if err != nil {
|
||||
log.Error("Error reading raw file: ", err)
|
||||
return err
|
||||
@@ -92,8 +93,8 @@ func (r *Registrator) LoadPanRaw(raw string) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (r *Registrator) LoadMssRaw(raw string) error {
|
||||
data, err := os.ReadFile(raw)
|
||||
func (r *Registrator) LoadMssRaw() error {
|
||||
data, err := os.ReadFile(r.Params.MssRawFile)
|
||||
if err != nil {
|
||||
log.Error("Error reading raw file: ", err)
|
||||
return err
|
||||
@@ -251,36 +252,7 @@ func (r *Registrator) calcPhaseCorrelation(panImage gocv.Mat,
|
||||
}
|
||||
}
|
||||
|
||||
r.calcDeltaCoeffs()
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (r *Registrator) SaveRegisteredMssToRaw(raw string) error {
|
||||
f, err := os.OpenFile(raw, os.O_CREATE|os.O_TRUNC|os.O_WRONLY, 0777)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
var mssData [4][]byte
|
||||
for i := 0; i < MssBands; i++ {
|
||||
mssData[i] = r.registeredMssImages[i].ToBytes()
|
||||
}
|
||||
|
||||
width := r.MssWidth * PixelBytes
|
||||
height := r.MssHeight
|
||||
log.Println("Writing registered MSS to RAW file...", len(mssData[0])*4)
|
||||
log.Println("width:", width)
|
||||
log.Println("height:", height)
|
||||
w := bufio.NewWriter(f)
|
||||
for row := 0; row < height; row++ {
|
||||
w.Write(mssData[0][row*width : (row+1)*width])
|
||||
w.Write(mssData[1][row*width : (row+1)*width])
|
||||
w.Write(mssData[2][row*width : (row+1)*width])
|
||||
w.Write(mssData[3][row*width : (row+1)*width])
|
||||
}
|
||||
|
||||
return nil
|
||||
return r.calcDeltaCoeffs()
|
||||
}
|
||||
|
||||
func (r *Registrator) Clean() {
|
||||
@@ -321,8 +293,16 @@ func (r *Registrator) calcDeltaCoeffs() error {
|
||||
|
||||
}
|
||||
|
||||
r.deltaXCoeffs[i] = PolynomialFit(cx, dx, 1)
|
||||
r.deltaYCoeffs[i] = PolynomialFit(cx, dy, 2)
|
||||
var err error
|
||||
if r.deltaXCoeffs[i], err = PolynomialFit(cx, dx, 1); err != nil {
|
||||
log.Error("Error fitting deltaX coeffs: ", err)
|
||||
return err
|
||||
}
|
||||
|
||||
if r.deltaYCoeffs[i], err = PolynomialFit(cx, dy, 2); err != nil {
|
||||
log.Error("Error fitting deltaY coeffs: ", err)
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
for i := 0; i < MssBands; i++ {
|
||||
|
||||
Reference in New Issue
Block a user