Awesome
- 凹语言(凹读音“Wa”)(The Wa Programming Language): https://github.com/wa-lang/wa
Go bindings for OpenCV1.1
PkgDoc: http://godoc.org/github.com/chai2010/opencv
Install
Install GCC
or MinGW
(download here) at first,
and then run these commands:
go get -d github.com/chai2010/opencv
go generate
andgo install
go run hello.go
Notes
If use TDM-GCC
, and build error like this:
c:\tdm-gcc-64\x86_64-w64-mingw32\include\aviriff.h:3:25: error: 'refer' does not
name a type
* No warranty is given; refer to the file DISCLAIMER within this package.
...
You need fix the C:\TDM-GCC-64\x86_64-w64-mingw32\include\aviriff.h
header first:
** // fixit: ** -> /**
* This file is part of the mingw-w64 runtime package.
* No warranty is given; refer to the file DISCLAIMER within this package.
*/
Example
// Copyright 2014 <chaishushan{AT}gmail.com>. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package main
import (
"fmt"
"log"
"os"
"github.com/chai2010/opencv"
)
func main() {
filename := "./testdata/lena.jpg"
if len(os.Args) == 2 {
filename = os.Args[1]
}
image := opencv.LoadImage(filename)
if image == nil {
log.Fatalf("LoadImage %s failed!", filename)
}
defer image.Release()
win := opencv.NewWindow("Go-OpenCV")
defer win.Destroy()
win.SetMouseCallback(func(event, x, y, flags int) {
fmt.Printf("event = %d, x = %d, y = %d, flags = %d\n",
event, x, y, flags,
)
})
win.CreateTrackbar("Thresh", 1, 100, func(pos int) {
fmt.Printf("pos = %d\n", pos)
})
win.ShowImage(image)
opencv.WaitKey(0)
}
Screenshots
Edge
Inpaint
Video Player
Cameras
BUGS
Report bugs to chaishushan@gmail.com.
Thanks!