Splitting and Merging Channels with Python-OpenCV Last Updated : 03 Jan, 2023 Comments Improve Suggest changes 1 Likes Like Report In this article, we will learn how to split a multi-channel image into separate channels and combine those separate channels into a multi-channel image using OpenCV in Python. To do this, we use cv2.split() and cv2.merge() functions respectively. Image Used: Splitting Channels cv2.split() is used to split coloured/multi-channel image into separate single-channel images. The cv2.split() is an expensive operation in terms of performance(time). The order of the output vector of arrays depends on the order of channels of the input image. Syntax: cv2.split(m[, mv]) Parameters: m: Input multi-channel arraymv: Output vector of arrays Example: Python3 # Python program to explain splitting of channels # Importing cv2 import cv2 # Reading the image using imread() function image = cv2.imread('img.jpg') # Displaying the original BGR image cv2.imshow('Original_Image', image) # Using cv2.split() to split channels of coloured image b,g,r = cv2.split(image) # Displaying Blue channel image # Blue colour is highlighted the most cv2.imshow("Model Blue Image", b) # Displaying Green channel image # Green colour is highlighted the most cv2.imshow("Model Green Image", g) # Displaying Red channel image # Red colour is highlighted the most cv2.imshow("Model Red Image", r) # Waits for user to press any key cv2.waitKey(0) Output: Merging Channels cv2.merge() is used to merge several single-channel images into a colored/multi-channel image. Syntax: cv2.merge(mv[, dst]) Parameters: mv: Input vector of matrices to be merged. All matrices must have same size.dst: Output multi-channel array of size mv[0]. Number of channel will be equal to total no. of channel in matrix array. Example: Python3 # Python program to explain Merging of Channels # Importing cv2 import cv2 # Reading the BGR image using imread() function image = cv2.imread("img.jpg") # Splitting the channels first to generate different # single # channels for merging as we don't have separate # channel images b, g, r = cv2.split(image) # Displaying Blue channel image cv2.imshow("Model Blue Image", b) # Displaying Green channel image cv2.imshow("Model Green Image", g) # Displaying Red channel image cv2.imshow("Model Red Image", r) # Using cv2.merge() to merge Red, Green, Blue Channels # into a coloured/multi-channeled image image_merge = cv2.merge([r, g, b]) # Displaying Merged RGB image cv2.imshow("RGB_Image", image_merge) # Waits for user to press any key cv2.waitKey(0) Output: Create Quiz Comment V vibhutijain99 Follow 1 Improve V vibhutijain99 Follow 1 Improve Article Tags : Python OpenCV Python-OpenCV Explore Python FundamentalsPython Introduction 2 min read Input and Output in Python 4 min read Python Variables 4 min read Python Operators 4 min read Python Keywords 2 min read Python Data Types 8 min read Conditional Statements in Python 3 min read Loops in Python - For, While and Nested Loops 5 min read Python Functions 5 min read Recursion in Python 4 min read Python Lambda Functions 5 min read Python Data StructuresPython String 5 min read Python Lists 4 min read Python Tuples 4 min read Python Dictionary 3 min read Python Sets 6 min read Python Arrays 7 min read List Comprehension in Python 4 min read Advanced PythonPython OOP Concepts 11 min read Python Exception Handling 5 min read File Handling in Python 4 min read Python Database Tutorial 4 min read Python MongoDB Tutorial 3 min read Python MySQL 9 min read Python Packages 10 min read Python Modules 3 min read Python DSA Libraries 15 min read List of Python GUI Library and Packages 3 min read Data Science with PythonNumPy Tutorial - Python Library 3 min read Pandas Tutorial 4 min read Matplotlib Tutorial 5 min read Python Seaborn Tutorial 3 min read StatsModel Library - Tutorial 3 min read Learning Model Building in Scikit-learn 6 min read TensorFlow Tutorial 2 min read PyTorch Tutorial 6 min read Web Development with PythonFlask Tutorial 8 min read Django Tutorial | Learn Django Framework 7 min read Django ORM - Inserting, Updating & Deleting Data 4 min read Templating With Jinja2 in Flask 6 min read Django Templates 5 min read Build a REST API using Flask - Python 3 min read Building a Simple API with Django REST Framework 3 min read Python PracticePython Quiz 1 min read Python Coding Practice 1 min read Python Interview Questions and Answers 15+ min read Like