opencv+python(通道的分离与合并)笔记

时间:2024-04-10 08:13:27

分割图像通道:

通过函数mv=split(img);mv返回的通道;

RGB有3个通道;灰度图只有一个通道;

 b,g,r= cv2.split(img)
    cv2.imshow("b",b)#通道b
    cv2.imshow("g",g)#通道g
    cv2.imshow("r",r)#通道r

合并图像通道:cv2.merge((b,g,r))

    plt.hist(img.ravel(),256,[0,256])
    b,g,r= cv2.split(img)
    cv2.imshow("b",b)
    cv2.imshow("g",g)
    cv2.imshow("r",r)
     
    img1=cv2.merge((b,g,r))#合并图像通道
    cv2.imshow("img", img1)

    cv2.waitKey(0)

修改图像中某区域的颜色:

img[10:100,10:100]=0

表示将图像img的行索引从10到100(不包括100)和列索引从10到100(不包括100)的区域像素值设置为0。这里的10和100是索引的起始值和终止值。

 b,g,r= cv2.split(img)
    cv2.imshow("b",b)
    cv2.imshow("g",g)
    cv2.imshow("r",r)

    b[10:100, 10:100] = 255 #
    g[10:100, 10:100] = 255 

   #合并后该区域的颜色为(255,255,原像素值)
   

    img1=cv2.merge((b,g,r))#合并图像通道
    cv2.imshow("img", img1)

    cv2.waitKey(0)

图片运算:

图片之间可以相加:

cv2.add();#若相加像素对于255,会变成255;

图片自己的像素可以与数字相加,若大于255,则会截断,相当于 point%255