go-opencv/gocv/gocv_test.go
2015-02-16 17:00:57 +08:00

76 lines
1.8 KiB
Go

package gocv
import (
"testing"
"github.com/davecgh/go-spew/spew"
"github.com/gonum/matrix/mat64"
)
func TestNewGcvPoint3f32(t *testing.T) {
pt := NewGcvPoint3f32(3, 1, 2)
spew.Dump(pt)
}
func TestNewGcvPoint2f32(t *testing.T) {
pt := NewGcvPoint2f32(3, 1)
spew.Dump(pt)
}
func TestNewGcvSize2f64(t *testing.T) {
size := NewGcvSize2f64(3, 1)
spew.Dump(size)
}
func TestMat(t *testing.T) {
mat := NewMat()
mat2 := NewMat(mat)
spew.Dump(mat2)
}
func TestGcvInitCameraMatrix2D(t *testing.T) {
objPts := mat64.NewDense(4, 3, []float64{
0, 25, 0,
0, -25, 0,
-47, 25, 0,
-47, -25, 0})
imgPts := mat64.NewDense(4, 2, []float64{
1136.4140625, 1041.89208984,
1845.33190918, 671.39581299,
302.73373413, 634.79998779,
1051.46154785, 352.76107788})
camMat := GcvInitCameraMatrix2D(objPts, imgPts)
spew.Dump(camMat)
}
// func TestGcvCalibrateCamera(t *testing.T) {
// objPts := NewGcvPoint3fVector(int64(4))
// objPts.Set(0, NewGcvPoint3f(0, 25, 0))
// objPts.Set(1, NewGcvPoint3f(0, -25, 0))
// objPts.Set(2, NewGcvPoint3f(-47, 25, 0))
// objPts.Set(3, NewGcvPoint3f(-47, -25, 0))
// imgPts := NewGcvPoint2fVector(int64(4))
// imgPts.Set(0, NewGcvPoint2f(1136.4140625, 1041.89208984))
// imgPts.Set(1, NewGcvPoint2f(1845.33190918, 671.39581299))
// imgPts.Set(2, NewGcvPoint2f(302.73373413, 634.79998779))
// imgPts.Set(3, NewGcvPoint2f(1051.46154785, 352.76107788))
// imgSize := NewGcvSize2i(1920, 1080)
// camMat := GcvInitCameraMatrix2D(objPts, imgPts)
// spew.Dump(camMat.GcvAtd(NewGcvSize2i(0, 0)))
// spew.Dump(camMat.GcvAtd(NewGcvSize2i(0, 1)))
// spew.Dump(camMat.GcvAtd(NewGcvSize2i(1, 1)))
// spew.Dump(camMat.GcvAtd(NewGcvSize2i(1, 2)))
// spew.Dump(camMat.GcvAtd(NewGcvSize2i(2, 2)))
// rvec := NewMat()
// tvec := NewMat()
// GcvCalibrateCamera(objPts, imgPts, imgSize, camMat, rvec, tvec)
// MatToMat64(camMat)
// }