Can delete a named Window

Signed-off-by: deadprogram <ron@hybridgroup.com>
This commit is contained in:
deadprogram
2017-09-19 23:01:57 +02:00
parent e31dbb98d5
commit 18c62637ce
3 changed files with 29 additions and 6 deletions

View File

@@ -5,9 +5,13 @@ void Window_New(const char* winname, int flags) {
cv::namedWindow(winname, flags); cv::namedWindow(winname, flags);
} }
// void Window_Delete(const char* winname) { void Window_Delete(const char* winname) {
// cv::destroyWindow(winname); cv::destroyWindow(winname);
// } }
void Window_IMShow(const char* winname, MatVec3b mat) {
cv::imshow(winname, *mat);
}
int Window_WaitKey(int delay = 0) { int Window_WaitKey(int delay = 0) {
return cv::waitKey(delay); return cv::waitKey(delay);

View File

@@ -15,15 +15,32 @@ type Window struct {
} }
// NewWindow creates a new named cv window // NewWindow creates a new named cv window
func NewWindow(name string) Window { func NewWindow(name string) *Window {
cName := C.CString(name) cName := C.CString(name)
defer C.free(unsafe.Pointer(cName)) defer C.free(unsafe.Pointer(cName))
C.Window_New(cName, 1) C.Window_New(cName, 1)
return Window{name: name} return &Window{name: name}
} }
// Delete a specific Window
func (w *Window) Delete() {
cName := C.CString(w.name)
defer C.free(unsafe.Pointer(cName))
C.Window_Delete(cName)
}
// IMShow takes an image Mat and displays it in the Window
func (w *Window) IMShow(img MatVec3b) {
cName := C.CString(w.name)
defer C.free(unsafe.Pointer(cName))
C.Window_IMShow(cName, img.p)
}
// WaitKey waits for keyboard input
func WaitKey(delay int) int { func WaitKey(delay int) int {
return int(C.Window_WaitKey(C.int(delay))) return int(C.Window_WaitKey(C.int(delay)))
} }

View File

@@ -10,9 +10,11 @@ extern "C" {
// Window // Window
void Window_New(const char* winname, int flags); void Window_New(const char* winname, int flags);
//void Window_Delete(const char* winname); void Window_Delete(const char* winname);
void Window_IMShow(const char* winname, MatVec3b mat);
int Window_WaitKey(int); int Window_WaitKey(int);
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif