gocv拆分图片颜色通道

开启窗口

window := gocv.NewWindow("Hello")

设置窗口模式自适应

window.SetWindowProperty(gocv.WindowPropertyAutosize,gocv.WindowAutosize)

读取图片

read := gocv.IMRead("image/front.jpg", gocv.IMReadColor)

查看图片类型

fmt.Println(read.Type())

拆分颜色通道(图像拆分后有3个通道分别是BGR)

var rgbChan1 []gocv.Mat
bgrChan := gocv.Split(read)

图像拆分后每个通道的颜色

//blue:= bgrChan[0]
green := bgrChan[1]
//red := bgrChan[2]

新建黑色图片

back_ch := gocv.Zeros(read.Rows(),read.Cols(),gocv.MatTypeCV8UC1)

将该通道与黑色图片组成3通道图片

rgbChan1 = append(rgbChan1,back_ch)
rgbChan1 = append(rgbChan1,green)
rgbChan1 = append(rgbChan1,back_ch)

建立3通道新图片

image := gocv.NewMatWithSize(read.Rows(),read.Cols(),gocv.MatTypeCV8UC3)

将以上通道与图片组合并展示

gocv.Merge(rgbChan1,&image)
window.IMShow(image)
window.WaitKey(0)