opencvで人検出をしたいのですが、検出することができていません。
顔検出はできたのですが、人ができていません。
エラーメッセージは
error
1OpenCV Error: Unspecified error (The node does not represent a user object (unknown type?)) in cvRead, file /tmp/opencv-20160626-26273-1a7s2xo/opencv-2.4.13/modules/core/src/persistence.cpp, line 5008 2libc++abi.dylib: terminating with uncaught exception of type cv::Exception: /tmp/opencv-20160626-26273-1a7s2xo/opencv-2.4.13/modules/core/src/persistence.cpp:5008: error: (-2) The node does not represent a user object (unknown type?) in function cvRead 3 4SIGABRT: abort 5PC=0x7fff96306f06 m=0 6signal arrived during cgo execution 7 8goroutine 1 [syscall, locked to thread]: 9runtime.cgocall(0x40c7e60, 0xc820053d38, 0x0) 10 /usr/local/Cellar/go/1.6.2/libexec/src/runtime/cgocall.go:123 +0x11b fp=0xc820053ce8 sp=0xc820053cb8 11github.com/lazywei/go-opencv/opencv._Cfunc_cvLoadHaarClassifierCascade(0x6918520, 0x100000001, 0x0) 12 ??:0 +0x42 fp=0xc820053d38 sp=0xc820053ce8 13github.com/lazywei/go-opencv/opencv.LoadHaarClassifierCascade(0xc820012380, 0x36, 0x2) 14 /Users/hazuuuun/go/src/github.com/lazywei/go-opencv/opencv/cvaux.go:61 +0x8d fp=0xc820053d70 sp=0xc820053d38 15main.main() 16 /Users/hazuuuun/go/src/cvtest/body.go:25 +0x24b fp=0xc820053f50 sp=0xc820053d70 17runtime.main() 18 /usr/local/Cellar/go/1.6.2/libexec/src/runtime/proc.go:188 +0x2b0 fp=0xc820053fa0 sp=0xc820053f50 19runtime.goexit() 20 /usr/local/Cellar/go/1.6.2/libexec/src/runtime/asm_amd64.s:1998 +0x1 fp=0xc820053fa8 sp=0xc820053fa0 21 22goroutine 17 [syscall, locked to thread]: 23runtime.goexit() 24 /usr/local/Cellar/go/1.6.2/libexec/src/runtime/asm_amd64.s:1998 +0x1 25 26rax 0x0 27rbx 0x6 28rcx 0x7fff5fbee218 29rdx 0x0 30rdi 0x307 31rsi 0x6 32rbp 0x7fff5fbee240 33rsp 0x7fff5fbee218 34r8 0x4 35r9 0x7fff93bbca53 36r10 0x8000000 37r11 0x206 38r12 0x7fff5fbee3a0 39r13 0x554c118 40r14 0x7fff7eaf5000 41r15 0x7fff5fbee280 42rip 0x7fff96306f06 43rflags 0x206 44cs 0x7 45fs 0x0 46gs 0x0 47exit status 2
ソースコードがこちらです。
カスケードのロードするファイルだけ変えましたが、落ちてしまいました。
package main import ( "fmt" "os" "path" "github.com/lazywei/go-opencv/opencv" ) func main() { win := opencv.NewWindow("Go-OpenCV Webcam Face Detection") defer win.Destroy() cap := opencv.NewCameraCapture(0) if cap == nil { panic("cannot open camera") } defer cap.Release() cwd, err := os.Getwd() if err != nil { panic(err) } cascade := opencv.LoadHaarClassifierCascade(path.Join(cwd, "haarcascade_fullbody.xml")) fmt.Println("Press ESC to quit") for { if cap.GrabFrame() { img := cap.RetrieveFrame(1) if img != nil { faces := cascade.DetectObjects(img) for _, value := range faces { opencv.Circle(img, opencv.Point{ value.X() + (value.Width() / 2), value.Y() + (value.Height() / 2), }, value.Width()/2, opencv.ScalarAll(255.0), 1, 1, 0) } win.ShowImage(img) } else { fmt.Println("nil image") } } key := opencv.WaitKey(1) if key == 27 { os.Exit(0) } } }
わかる方いましたらよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/07/29 02:15
2016/07/29 02:20
退会済みユーザー
2016/07/29 02:59 編集