How to read pixels from texture2d change the color of all the pixels to yellow and set back ? Edited

using System.Collections;
using System.Collections.Generic;
using System.Linq;
using Unity.VisualScripting;
using UnityEngine;
using UnityEngine.UI;

public class ReadPixelsFromImage : MonoBehaviour
{
    public Texture2D tx2d;
    public RawImage ri;

    // Start is called before the first frame update
    void Start()
    {
        ReadPixelsFromT2D(tx2d);
        ri.texture = tx2d;
    }

    // Update is called once per frame
    void Update()
    {

    }

    private void ReadPixelsFromT2D(Texture2D Texture)
    {
        Color[] colors = Texture.GetPixels();
       
        for (int i = 0; i < colors.Length; i++)
        {
            if (colors[i] == Color.blue)
            {
                colors[i] = Color.yellow;
            }
        }

        Texture.SetPixels(colors);
        Texture.Apply();
    }
}

if i’m not check for the blue color in the line :

if (colors[i] == Color.blue)

then it will color all the pixels in yellow but i want to color in yellow now only some of the pixels.
but checking against blue color find nothing like there are no clue pixels but in the image there is a lot of blue :

The colour you think is blue is not blue I am afraid. Well it’s blue but it’s not Color.Blue which a is a very specific blue. Go into your inspector and assign that colour. There is an ink dab on the colour you can mouse over your image to get a match.