Example #1
0
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
}
Example #2
0
/* 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))
}