# Quantum circuits for RGB images

**URL:** <https://discuss.pennylane.ai/t/quantum-circuits-for-rgb-images/2656>\
**Category:** PennyLane Help\
**Created:** [February 27, 2023, 9:37am UTC](https://discuss.pennylane.ai/t/quantum-circuits-for-rgb-images/2656 "2023-02-27T09:37:07Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![mass\_of\_15](https://yyz2.discourse-cdn.com/flex012/user_avatar/discuss.pennylane.ai/mass_of_15/32/1430_2.png) [@mass\_of\_15](https://discuss.pennylane.ai/u/mass_of_15)\
**Post date:** [February 27, 2023, 9:37am UTC](https://discuss.pennylane.ai/t/quantum-circuits-for-rgb-images/2656/1 "2023-02-27T09:37:07Z")

</div>

I have a color image dataset. To represent these images through quantum circuit, how to send each RGB channels through a single quantum circuit? If I have 4 qubits, how to send these qubits through R-G-B channels?

I know how to do it in grayscale images as it has only single channel. If I have a quantum circuit:

```auto
n_qubits=4
q_depth=14

def quantum_circuit(noise, weights):

    weights = weights.reshape(q_depth, n_qubits)

    for i in range(n_qubits):
        qml.RY(noise[i], wires=i)

    for i in range(q_depth):
        for y in range(n_qubits):
            qml.RY(weights[i][y], wires=y)

        for y in range(n_qubits - 1):
            qml.CZ(wires=[y, y + 1])

    return qml.probs(wires=list(range(n_qubits)))

```

So I need 4 qubits in each three channels passing through the quantum circuit. Also the execution needs to be parallel. Any ideas, how to execute it?

---

<div class="post-metadata">

**Author:** ![CatalinaAlbornoz](https://yyz2.discourse-cdn.com/flex012/user_avatar/discuss.pennylane.ai/catalinaalbornoz/32/1196_2.png) [@CatalinaAlbornoz](https://discuss.pennylane.ai/u/CatalinaAlbornoz)\
**Post date:** [February 28, 2023, 9:35pm UTC](https://discuss.pennylane.ai/t/quantum-circuits-for-rgb-images/2656/2 "2023-02-28T21:35:26Z")

</div>

Hi @mass_of_15,

I’m not sure about your code but one way of encoding RGB values onto a quantum circuit is by using [qml.Rot()](https://docs.pennylane.ai/en/stable/code/api/pennylane.Rot.html). Notice that it takes 3 angles so if you multiply each RGB value by 2pi/255 then you will be able to encode each RBG value in each pixel into a generalized rotation (Rot).

Please let me know if this is clear!

---

<div class="post-metadata">

**Author:** ![Abu\_Bakar](https://yyz2.discourse-cdn.com/flex012/user_avatar/discuss.pennylane.ai/abu_bakar/32/2736_2.png) [@Abu\_Bakar](https://discuss.pennylane.ai/u/Abu_Bakar)\
**Post date:** [July 27, 2024, 6:01pm UTC](https://discuss.pennylane.ai/t/quantum-circuits-for-rgb-images/2656/3 "2024-07-27T18:01:26Z")

</div>

Hi… can you please verify my this code that whether this code of quantum circuit is good for RGB images? I extended the below code which actually was applied on greyscale images in this [Quanvolutional Neural Networks | PennyLane Demos](https://pennylane.ai/qml/demos/tutorial_quanvolution/)

My code:

[![](https://canada1.discourse-cdn.com/flex012/uploads/pennylane/original/2X/f/f9b2f5faec3b89014dd991d16778add8a060bcb8.png) ](https://canada1.discourse-cdn.com/flex012/uploads/pennylane/original/2X/f/f9b2f5faec3b89014dd991d16778add8a060bcb8.png)

---

<div class="post-metadata">

**Author:** ![CatalinaAlbornoz](https://yyz2.discourse-cdn.com/flex012/user_avatar/discuss.pennylane.ai/catalinaalbornoz/32/1196_2.png) [@CatalinaAlbornoz](https://discuss.pennylane.ai/u/CatalinaAlbornoz)\
**Post date:** [July 29, 2024, 8:51pm UTC](https://discuss.pennylane.ai/t/quantum-circuits-for-rgb-images/2656/4 "2024-07-29T20:51:51Z")

</div>

Hi @Abu_Bakar, welcome to the Forum!

Unfortunately with the code you shared I’m unable to say whether it will work or not. My suggestion is that you test it for a few small images, and check whether you get any errors or the results that you expect.

---

<div class="post-metadata">

**Author:** ![Abu\_Bakar](https://yyz2.discourse-cdn.com/flex012/user_avatar/discuss.pennylane.ai/abu_bakar/32/2736_2.png) [@Abu\_Bakar](https://discuss.pennylane.ai/u/Abu_Bakar)\
**Post date:** [July 30, 2024, 10:36am UTC](https://discuss.pennylane.ai/t/quantum-circuits-for-rgb-images/2656/5 "2024-07-30T10:36:08Z")

</div>

Thank you madam for your response… I ran the above code and it is running without the error but as the images are RGB so i wanted to make sure that it is okay because the code was given for greyscale images and i wanted to make sure that extended logic is okay for RGB as well or not.

---

<div class="post-metadata">

**Author:** ![CatalinaAlbornoz](https://yyz2.discourse-cdn.com/flex012/user_avatar/discuss.pennylane.ai/catalinaalbornoz/32/1196_2.png) [@CatalinaAlbornoz](https://discuss.pennylane.ai/u/CatalinaAlbornoz)\
**Post date:** [July 31, 2024, 10:33pm UTC](https://discuss.pennylane.ai/t/quantum-circuits-for-rgb-images/2656/6 "2024-07-31T22:33:34Z")

</div>

Hi @Abu_Bakar , it’s great to hear that it works!

Enjoy using PennyLane!
