func LoadImage(filename string, loadColor bool) (*Image, error) { cname := C.CString(filename) defer C.free(unsafe.Pointer(cname)) if !loadColor { iplgray := C.cvLoadImage(cname, C.int(0)) if iplgray == nil { return nil, errors.New("Could not open file: " + filename) } return imageFromIplImage(iplgray) } iplbgr := C.cvLoadImage(cname, C.int(1)) if iplbgr == nil { return nil, errors.New("Could not open file: " + filename) } bgr, _ := imageFromIplImage(iplbgr) defer bgr.Release() rgb := new(Image).InitializeAs(bgr) C.cvCvtColor(bgr.ptr, rgb.ptr, C.CV_BGR2RGB) return rgb, nil }
/* Converts input array pixels from one color space to another */ func CvtColor(src, dst *IplImage, code int) { C.cvCvtColor(unsafe.Pointer(src), unsafe.Pointer(dst), C.int(code)) }