الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

أرجو المساعدة في ايجاد بعض خصائص من داخل صورة.

مغلق
بدأه XtottiX في 14 ديسمبر 2006 · 1 رد · 590 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ...

عندي مشروع بسيط في مادة في Image Processing ... واستخدم لغة C# ... ولكن أواجه فيه مشكلة ...

عندي شكل ... من صورة ...

المطلوب إني أوجد في هذا الشكل موقع كل ارتفاع ( Ascenders ) و كل انخفاض ( Descenders ) ...

في البداية أخذت الصورة اللي تحتوي الشكل ...

وحولتها إلى صورة تتكون من لونين ... ( Binary ) ...

ولتكن هذه الصورة مثلا ...

581cf7cee1.jpg

وبعد كدة قمت بإيجاد الحدود الخارجية للشكل ...

1fc01fbfad.jpg

وقمت بإيجاد خصائص أخرى مثل ارتفاع الشكل وعرضه بالبكسل ...

لكنني أوجه صعوبة في التعرف على مكان كل ارتفاع وانخفاض في الشكل كما في الصورة التالية ... وتحديد موقع كل منها بالبكسل ...

cf5164d338.jpg

كيف أقدر أمشي على الحدود بكسل بكسل ... وأعرف مكان كل ارتفاع وانخفاض ... ؟؟؟

أو أي طريقة أخرى ... ؟؟؟

أفيدوني وأكون شاكر لكم ...

#2

طيب أنا فكرت بهذي الطريقة ...

وأتمنى أحد عنده خبرة يساعدني ...

فكرت أعمل كلاس جديد ...

	public class PixelPoint
	{
		Point pixel_posision;
		Color pixel_color;
		PixelPoint pTopLeft, pTop, pTopRight;
		PixelPoint pLeft, pRight;
		PixelPoint pBotLeft, pBot, pBotRight;



		public PixelPoint(Point p, Color c, PixelPoint tl, PixelPoint t, PixelPoint tr, PixelPoint l, PixelPoint r, PixelPoint bl, PixelPoint b, PixelPoint br)
		{
			pixel_posision = p; pixel_color = c;
			pTopLeft = tl; pTop = t; pTopRight = tr;
			pLeft = l; pRight = r;
			pBotLeft = bl; pBot = b; pBotRight = br;

		}



		public Point Pixel_Position
		{
			get { return pixel_posision; }
			set { pixel_posision = value; }
		}

		public Color Pixel_Color
		{
			get { return pixel_color; }
			set { pixel_color = value; }

		}

		public PixelPoint Pixel_Top_Left
		{
			get { return pTopLeft; }
			set { pTopLeft = value; }
		}

		public PixelPoint Pixel_Top
		{
			get { return pTop; }
			set { pTop = value; }
		}

		public PixelPoint Pixel_Top_Right
		{
			get { return pTopRight; }
			set { pTopRight = value; }
		}

		public PixelPoint Pixel_Left
		{
			get { return pLeft; }
			set { pLeft = value; }
		}

		public PixelPoint Pixel_Right
		{
			get { return pRight; }
			set { pRight = value; }
		}

		public PixelPoint Pixel_Bot_Left
		{
			get { return pBotLeft; }
			set { pBotLeft = value; }
		}

		public PixelPoint Pixel_Bot
		{
			get { return pBot; }
			set { pBot = value; }
		}

		public PixelPoint Pixel_Bot_Right
		{
			get { return pBotRight; }
			set { pBotRight = value; }
		}



	}

واستخدمه بهذي الطريقة ..

			PixelPoint ptl = new PixelPoint(new Point(w - 1, h - 1), BmpAD.GetPixel(w - 1, h - 1), null, null, null, null, null, null, null, null);
			PixelPoint ptm = new PixelPoint(new Point(w, h - 1), BmpAD.GetPixel(w, h - 1), null, null, null, null, null, null, null, null);
			PixelPoint ptr = new PixelPoint(new Point(w + 1, h - 1), BmpAD.GetPixel(w + 1, h - 1), null, null, null, null, null, null, null, null);
			PixelPoint plm = new PixelPoint(new Point(w - 1, h), BmpAD.GetPixel(w - 1, h), null, null, null, null, null, null, null, null);
			PixelPoint prm = new PixelPoint(new Point(w + 1, h), BmpAD.GetPixel(w + 1, h), null, null, null, null, null, null, null, null);
			PixelPoint pbl = new PixelPoint(new Point(w - 1, h + 1), BmpAD.GetPixel(w - 1, h + 1), null, null, null, null, null, null, null, null);
			PixelPoint pbm = new PixelPoint(new Point(w, h + 1), BmpAD.GetPixel(w, h + 1), null, null, null, null, null, null, null, null);
			PixelPoint pbr = new PixelPoint(new Point(w + 1, h + 1), BmpAD.GetPixel(w + 1, h + 1), null, null, null, null, null, null, null, null);

			PixelPoint ppp = new PixelPoint(pt, BmpAD.GetPixel(w, h), ptl, ptm, ptr, plm, prm, pbl, pbm, pbr);

طبعا w و h موقع نقطة سبق واني حددتها من الصورة ...

بحيث انه البكسل اللي اتعامل معاه يشير لجميع الجهات اللي حواليه ... ويرجع لي لون البكسل وموقعه ...

بس مش عارف اذ راح تنفع والا لأ ...؟؟ وكيف استخدمها في الصورة ... ؟؟

اذا في طريقة أسهل ... اتمنى تفيدوني في أقرب فرصة ...

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…