المبرمج العربي نشر 7 يونيو 2016 أرسل تقرير نشر 7 يونيو 2016 أريد دروس ومصادر للتعامل مع الصور باستخدام لغات سي شارب وماتلاب، حيث أريد معالجة هذه الصور والتعرف على الوجوه، فكيف أستطيع فعل ذلك؟ اقتباس
0 هشام رزق الله نشر 7 يونيو 2016 أرسل تقرير نشر 7 يونيو 2016 يمكنك معالجة الصور بسهولة عبر استخدام المكتبات القياسية للغة سي شارب كما في هذا المثال الذي سيغيّر ألوان الصورة إلى الأبيض والأسود: public void SetGrayscale() { Bitmap temp = (Bitmap)_currentBitmap; Bitmap bmap = (Bitmap)temp.Clone(); Color c; for (int i = 0; i < bmap.Width; i++) { for (int j = 0; j < bmap.Height; j++) { c = bmap.GetPixel(i, j); byte gray = (byte)(.299 * c.R + .587 * c.G + .114 * c.B); bmap.SetPixel(i, j, Color.FromArgb(gray, gray, gray)); } } _currentBitmap = (Bitmap)bmap.Clone(); } لمزيد من الدروس حول معالجة الصور باستخدام لغة سي شارب فأنصحك بهذا الدرس. أما للغة ماتلاب فأنصحك بهذه الدروس حول معالجة الصورة. بالنسبة لخاصية التعرف على الوجوه، فأنصحك بالإطلاع على هذا المشروع البسيط حيث يحتوي على خوارزمية للتعرف على الوجود في الصور. اقتباس
0 E.Nourddine نشر 7 يونيو 2016 أرسل تقرير نشر 7 يونيو 2016 تقينة التعرف على الوجه أو Face Detection، هي من التقنيات التي لا نتمكن منها بالاعتماد على لغة برمجة واحدة، بل تستلزم توفّر مكتبات متخصصة في هذا المجال، لتقوم بوظيفة مقارنة صورتين لوجهين مثلا والعودة بنتيجة التشابه أو عدم ذلك، من بين المكتبات المتصدرة لهذا المجال، مكتبةOpenCV، حيث يتم مقارنة العديد من الخصائص قبل تحديد هل الصورتين متشابهتين أم لا. مثال لشفرة تعمل على التعرف على الوجه ب#C: using System; using System.Windows.Forms; using System.Drawing; using Emgu.CV; using Emgu.Util; using Emgu.CV.Structure; using Emgu.CV.CvEnum; namespace opencvtut { public partial class Form1 : Form { private Capture cap; private HaarCascade haar; public Form1() { InitializeComponent(); } private void timer1_Tick(object sender, EventArgs e) { using (Image<Bgr, byte> nextFrame = cap.QueryFrame()) { if (nextFrame != null) { // there's only one channel (greyscale), hence the zero index //var faces = nextFrame.DetectHaarCascade(haar)[0]; Image<Gray, byte> grayframe = nextFrame.Convert<Gray, byte>(); var faces = grayframe.DetectHaarCascade( haar, 1.4, 4, HAAR_DETECTION_TYPE.DO_CANNY_PRUNING, new Size(nextFrame.Width/8, nextFrame.Height/8) )[0]; foreach (var face in faces) { nextFrame.Draw(face.rect, new Bgr(0,double.MaxValue,0), 3); } pictureBox1.Image = nextFrame.ToBitmap(); } } } private void Form1_Load(object sender, EventArgs e) { // passing 0 gets zeroth webcam cap = new Capture(0); // adjust path to find your xml haar = new HaarCascade( "..\\..\\..\\..\\lib\\haarcascade_frontalface_alt2.xml"); } } } مصدر1 مصدر2 اقتباس
السؤال
المبرمج العربي
أريد دروس ومصادر للتعامل مع الصور باستخدام لغات سي شارب وماتلاب، حيث أريد معالجة هذه الصور والتعرف على الوجوه، فكيف أستطيع فعل ذلك؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.