zoukankan      html  css  js  c++  java
  • 图像通道的分离与合并

     1 import cv2
     2 import numpy as np
     3 
     4 img=cv2.imread('C:/UserszpDesktopopimages/image7.jpg')
     5 
     6 b,g,r=cv2.split(img)
     7 cv2.imshow('Red1',r)
     8 cv2.imshow('Green1',g)
     9 cv2.imshow('Blue1',b)
    10 cv2.waitKey(0)
    11 cv2.destroyAllWindows()
    12 # 为什么得到的是三张不同d灰度图呢?不是已经分离出R,G,B通道了吗?应该是分别是红色图,绿色图,蓝色图才对阿。
    13 # 原因是:当调用 imshow(R)时,是把图像的R,G,B三个通道的值都变为R的值,所以图像的颜色三通道值为(R,R,R)
    14 # 同理 imshow(G)和imshow(B)所显示d图像的颜色通道也依次为(G,G,G)和(B,B,B)。
    15 # 而 当三个通道d值相同时,则为灰度图。
    16 
    17 
    18 
    19 # 使用merge()函数将某一颜色通道(如R)与零矩阵合并,形成(R,00)从而显示只有红色通道的图
    20 # merge()函数的使用
    21 # 有人可能会问,不是R,G,B吗,为什么B通道反而放在图像的第一位,如(B,00)?
    22 # 因为opencv中,就是调过来d,图像的第一通道是B,第二通道是G,最后是R。
    23 B,G,R = cv2.split(img)                     #分离出图片的B,R,G颜色通道
    24 zeros = np.zeros(img.shape[:2],dtype="uint8")#创建与image相同大小的零矩阵
    25 cv2.imshow("BLUE",cv2.merge([B,zeros,zeros]))#显示 (B,00)图像
    26 cv2.imshow("GREEN",cv2.merge([zeros,G,zeros]))#显示(0,G,0)图像
    27 cv2.imshow("RED",cv2.merge([zeros,zeros,R]))#显示(00,R)图像
    28 cv2.waitKey(0)
    29 cv2.destroyAllWindows()
    30 
    31 
    32 # 把 分离出来的R,G,B通道的值重新合并在一起
    33 image=cv2.imread("C:/UserszpDesktopopimages/image7.jpg")#读取要处理的图片
    34 B,G,R = cv2.split(img)                       #分离出图片的B,R,G颜色通道
    35 # zeros = np.zeros(image.shape[:2],dtype="uint8")#创建与image相同大小的零矩阵
    36 cv2.imshow("MERGE",cv2.merge([B,G,R]))
    37 cv2.waitKey(0)
    38 cv2.destroyAllWindows()
    39 
    40 import numpy as np;
    41 import cv2;  # 导入opencv模块
    42 
    43 image = cv2.imread("/home/zje/Pictures/lena.jpeg");  # 读取要处理的图片
    44 B, G, R = cv2.split(image);  # 分离出图片的B,R,G颜色通道
    45 zeros = np.zeros(image.shape[:2], dtype="uint8");  # 创建与image相同大小的零矩阵
    46 cv2.imshow("MERGE", cv2.merge([B, G, R]));
    47 
    48 
    49 
    50 
    51 # 作者:ZJE_ANDY
    52 # 来源:CSDN
    53 # 原文:https: // blog.csdn.net / u014453898 / article / details / 80715121
    54 # 版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    OpenGL Pixel Linked-List
    Unity multi_compile
    Bindless Textures
    chmod递归设置文件属性
    push submodule
    NodeJS Debugger
    重载new操作符
    OpenGL瓶颈
    NGUI架构和Draw Call合并原理
    字符串哈希函数(String Hash Functions)
  • 原文地址:https://www.cnblogs.com/zpdbkshangshanluoshuo/p/10483919.html
Copyright © 2011-2022 走看看