Define pixels

Hello!

I want to define pixels in a sprite. So that i can for example detect which pixels are black and which are white.

I have made a script which calculates the dimension of the sprite in pixels. With it i can use the sprite as a matrix. What i need help with is to make for loops which detects the color (or shade) of each individual pixel. The sprite used will only be black and white so i only need to detect where on the greyscale the pixel is.

This is what i have:

using UnityEngine;
using System.Collections;

public class Findwhite : MonoBehaviour {

	public float imgHeight;
	public float imgWidth;
	//public SpriteRenderer imageSprite;

	void Start () {
		GameObject image = GameObject.Find ("text");
		SpriteRenderer imageSprite = image.GetComponent<SpriteRenderer> ();
		imgWidth = imageSprite.bounds.size.x*100;
		imgHeight = imageSprite.bounds.size.y*100;
	}
}

I am thinking that the for-loops might look something like this:

void Update () {

		for(int i = 0; i < imgWidth; i++){

			for(int j = 0; j < imgHeight; j++){

				if(img*[j].color == black (or dark greyish)) //psuedo*
  •  		{*
    

_ store img*[j] //psuedo*_
* }*
* }*
* }*
* }*
Do you have any suggestion how to make the Psuedo-code work?
Thank you
//Taegos

I found a nice tutorial on utube about a similiar thing. I tweaked it a little and now it works like a want.

using UnityEngine;
using System.Collections;

public class CreateBlocks : MonoBehaviour {

	public Texture2D heightmap;
	private Color color;
	public int w;
	public Color[] pixels;
	
	void Start () {
	
		pixels = heightmap.GetPixels (0, 0, heightmap.width, heightmap.height);

		for (int x = 0; x < heightmap.width; x++){
			for (int y = 0; y < heightmap.height; y++){
				color = pixels[(y * heightmap.height)+x];
				GameObject obj = GameObject.CreatePrimitive(PrimitiveType.Cube);
				obj.transform.position = new Vector3 (x, y, 0);
				obj.renderer.material.color = color;

				if (color == Color.black)
				{
					w = w +1;
					Debug.Log("Black found");
				}
				else
				{
					Debug.Log("White found");
				}
			}
		}
	}	
}