70٪ تخفیف ویژه جشنواره تابستانه توسینسو
پایان تخفیف تا:
مشاهده دوره‌ها
0

پردازش تصویر در سی شارپ

سلام ، کسی هست که در زمینه پردازش تصویر در c# کار کرده باشه؟ لطفا منابع فارسی و انگلیسی در این زمینه معرفی کنید. با تشکر

پرسیده شده در 1395/06/27 توسط

3 پاسخ

0

سلام

پردازش چهره منظورتون هست؟

پاسخ در 1395/06/30 توسط
آواتار . .
1

البته بنده مبتدی برنامه نویسی هستم ولی بهترین زبان برای برنامه نویسی زبان سی ++ و استفاده از کتابخانه opencv هست .

پاسخ در 1395/07/05 توسط
1

سلام دوست عزیز این کد واسه پردازش تصویر امیدوارم بدردتون بخوره

منبع: پردازش تصویر

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace Image_Proccessing
{
    public partial class Form1 : Form
    {
        
        public Form1()
        {
            
            InitializeComponent();
        }
        int count = 0;
        int count1 = 0;
        int ix = 0;
        Bitmap bimpx,bimpx1;
       
        private void button1_Click(object sender, EventArgs e)
        {
            string x;
           
            openFileDialog1.ShowDialog();
            x = System.Windows.Forms.DialogResult.OK.ToString();
           if ( x=="OK")
            {
                pictureBox1.Load(openFileDialog1.FileName);
                bimpx = new Bitmap(openFileDialog1.FileName);
                listBox1.Items.Add("اندازه تصویر   = " + pictureBox1.Image.Width.ToString() + "  در   " + pictureBox1.Image.Height.ToString() + " = " + (pictureBox1.Image.Width * pictureBox1.Image.Height).ToString() + " پیکسل");
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            //On Error Resume Next VBConversions Warning: On Error Resume Next not supported in C#
           listBox2.Items.Clear();
           listBox3.Items.Clear();
            count = 0;
            int i,a;
            int j,b;
            a = pictureBox1.Image.Height;
            b = pictureBox1.Image.Width;
            for (i = 0; i < b; i++)
            {
                for (j = 0; j                 {
                    add2list(bimpx.GetPixel(i, j).ToString());
                    Application.DoEvents();
                }
            }
            listBox1.Items.Add("تعداد رنگ ها = " + count.ToString());
        }
        private void add2list(string col)
        {
            if (listBox2.Items.Contains(col))
            {
                listBox3 .Items[listBox2.FindStringExact(col)] = System.Convert.ToInt32(listBox3 .Items[listBox2 .FindStringExact(col)]) + 1;

            }
            else
            {
                listBox2.Items.Add(col);
                listBox3.Items.Add(1);
                count += 1;
            }
        }

        private void listBox2_SelectedIndexChanged(object sender, EventArgs e)
        {
            listBox3.SelectedIndex = listBox2.SelectedIndex;
        }

        private void button4_Click(object sender, EventArgs e)
        {
             string x;
             openFileDialog1.ShowDialog();
            x = System.Windows.Forms.DialogResult.OK.ToString();
           if ( x=="OK")
            {
                pictureBox2.Load(openFileDialog1.FileName);
                bimpx1  = new Bitmap(openFileDialog1.FileName);
                listBox6.Items.Add("اندازه تصویر   = " + pictureBox2.Image.Width.ToString() + "  در   " + pictureBox2.Image.Height.ToString() + " = " + (pictureBox2.Image.Width * pictureBox2.Image.Height).ToString() + " پیکسل");
            }
        }
        private void add2list1(string col)
        {
            if (listBox5.Items.Contains(col))
            {
                listBox4.Items[listBox5.FindStringExact(col)] = System.Convert.ToInt32(listBox4.Items[listBox5.FindStringExact(col)]) + 1;

            }
            else
            {
                listBox5.Items.Add(col);
                listBox4.Items.Add(1);
                count1 += 1;
            }
        }

        private void button3_Click(object sender, EventArgs e)
        {  //On Error Resume Next VBConversions Warning: On Error Resume Next not supported in C#
            listBox5.Items.Clear();
            listBox4.Items.Clear();
            count1 = 0;
            int i, a;
            int j, b;
            a = pictureBox2.Image.Height;
            b = pictureBox2.Image.Width;
            for (i = 0; i < b; i++)
            {
                for (j = 0; j < a; j++)
                {
                    add2list1(bimpx1.GetPixel(i, j).ToString());
                    Application.DoEvents();
                }
            }
            listBox6.Items.Add("تعداد رنگ ها = " + count1.ToString());

        }

        private void listBox5_SelectedIndexChanged(object sender, EventArgs e)
        {
            listBox4.SelectedIndex = listBox5.SelectedIndex;
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            this.WebCamCapture.TimeToCapture_milliseconds = 1;
            WebCamCapture.Start(0);
            label7.Text = "";
            label8.Text = "";
            label9.Text = "";
            label10.Text = "";
            
        }

        private void button5_Click(object sender, EventArgs e)
        {
            //گزارش وجود اختلاف در سایز
            int A, B, C, D,index,j;
            string s, s1;
           A = pictureBox1.Image.Height;
           B = pictureBox1.Image.Width;
           C = pictureBox2.Image.Height;
           D = pictureBox2.Image.Width;
           if ((A == C) && (B == D))
           { label7.Text="در سایز تصاویر اختلافی دیده نمی شود";
           }
           else 
           {
             if ((A != C) && (B != D))
             {
                 label7.Text = "در عرض و طول دو تصویر اختلاف وجود دارد";
           }
               else if (A != C ||(B != D) )
             {
                 label7.Text = "در دو تصویر اختلاف وجود دارد";
              }
           }

            //گزارش اختلاف تعداد رنگ
           if ((count == 0) && (count1 == 0))
           {
               label8.Text = "تصویری وارد نشده است";
           }
           else
           {
               if (count != count1)
               {
                   label8.Text = "بین رنگ تصاویر اختلاف دیده می شود";
               }
               else
               {
                   label8.Text = "بین رنگ تصاویر اختلاف دیده نمی شود";
               }

           }
            //فردیس-سپانته-مستقیم تا آتش نشانی-میدان ارتش کوجه دوم داخل-ارایشگاه زنانه باجه تلفنومغازه شبستری
            //گزارش اختلاف تعداد پیکسل
           if (listBox3.Items.Count < listBox4.Items.Count) {
                j = listBox3.Items.Count;
           }
            else
           {
              j = listBox4.Items.Count;
           }
           for (index=0; index  < j; index ++)
           {
              
               s = listBox3.Items[index].ToString();
               s1 = listBox4.Items[index].ToString();
               if (s != s1)
               {
                   label9.Text = "در تعداد پیکسل رنگ اختلاف است";
                   label10.Text = "-----------------------------------";
               }
               else
               {
                   label9.Text = "در تعداد پیکسل رنگ اختلاف نیست";
                   label10.Text = "-----------------------------------";
               }
           }

        }
        private void WebCamCapture_ImageCaptured(object source, WebCam_Capture.WebcamEventArgs e)
        {
            this.pictureBox3.Image  = e.WebCamImage;
        }

        private void button6_Click(object sender, EventArgs e)
        {
            int alan = ix;
            pictureBox3.Image.Save("d:pic0" + ix++ + ".jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
            pictureBox1.Load("d:pic0" + alan + ".jpg");
            bimpx = new Bitmap("d:pic0" + alan  + ".jpg");
            listBox1.Items.Add("اندازه تصویر   = " + pictureBox1.Image.Width.ToString() + "  در   " + pictureBox1.Image.Height.ToString() + " = " + (pictureBox1.Image.Width * pictureBox1.Image.Height).ToString() + " پیکسل");
        }

        private void button7_Click(object sender, EventArgs e)
        {
            int alan = ix;
            pictureBox3.Image.Save("d:pic0" + ix++ + ".jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
            pictureBox2.Load("d:pic0" + alan + ".jpg");
            bimpx1  = new Bitmap("d:pic0" + alan + ".jpg");
            listBox6.Items.Add("اندازه تصویر   = " + pictureBox2.Image.Width.ToString() + "  در   " + pictureBox2.Image.Height.ToString() + " = " + (pictureBox2.Image.Width * pictureBox2.Image.Height).ToString() + " پیکسل");

        }

        private void button8_Click(object sender, EventArgs e)
        {
            System.Diagnostics.Process.Start("http://WWw.SourceCodes.ir");

        }

    }
}
پاسخ در 1395/07/02 توسط

پاسخ شما