1 Востаннє редагувалося ihorgo (03.09.2014 10:20:53)

Тема: Допоможіть пошукати різницю інтенсивностей 3 зображень

Є 4 вхідних чорно білих зображень і1, і2, і3, і4 потрібно знайти І=і1-і2-і3 та Іz=і1-і2-і4 та вивести на екран або зберегти вихідні 2 зображення C#

2

Re: Допоможіть пошукати різницю інтенсивностей 3 зображень

В чому труднощі? Чи це настав вересень і треба робити лаби?

Подякували: koala1

3

Re: Допоможіть пошукати різницю інтенсивностей 3 зображень

це не лаба це тільки маленька частинка від всієї програми, а труднощі полягають в тому що не можу перетворити   в двох вимірний масив  і після закінчення операції з масиву в нові зображення

4

Re: Допоможіть пошукати різницю інтенсивностей 3 зображень

Ось відкриття зображення

  public Image2()
        {
            InitializeComponent();
        }

        private void Image2Load(object sender, EventArgs e)
        {

            var openFileDialog = new OpenFileDialog
            {
                Filter =
                    Resources.
                    Image1_Image1Load_Image_Files___BMP___JPG___GIF____BMP___JPG___GIF_All_files__________
            };
            if (openFileDialog.ShowDialog(this) != DialogResult.OK)
            {
                return;
            }

            try
            {
                ActiveCImage2 = new CImage(openFileDialog.FileName);
            }
            catch (Exception ex)
            {
                MessageBox.Show(this,
                                Resources.Image1_Image1Load_Error_opening_file__ + openFileDialog.FileName +
                                Resources.Image1_Image1Load__because__ + ex.Message + Resources.Image1_Image1Load___ +
                                ex.GetType().Name + Resources.Image1_Image1Load____, Resources.Image1_Image1Load_Open___,
                                MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        protected CImage Cimage2 = null;

        public CImage ActiveCImage2
        {
            get { return Cimage2; }
            set
            {
                Cimage2 = value;
                if (Cimage2 != null)
                {
                    Bitmap bitmap = Cimage2.ToBitmap();
                    image_2.Location = new Point(0, 0);
                    image_2.Image = bitmap;
                    image_2.Size = bitmap.Size;
                    image_2.Visible = true;
                    statusimage2.Text = Resources.Image1_ActiveCImage1___ + Cimage2.Width +
                                         Resources.Image1_ActiveCImage1___ + Cimage2.Height +
                                         Resources.Image1_ActiveCImage1___;
                }
                else
                {
                    image_2.Image = null;
                    image_2.Visible = false;
                    statusimage2.Text = Resources.Image1_ActiveCImage1_No_bitmap_loaded_;
                }

            }
        }

        private void ImageClick(object sender, EventArgs e)
        {
            var openFileDialog = new OpenFileDialog
            {
                Filter =
                    Resources.
                    Image1_Image1Load_Image_Files___BMP___JPG___GIF____BMP___JPG___GIF_All_files__________
            };
            if (openFileDialog.ShowDialog(this) != DialogResult.OK)
            {
                return;
            }

            try
            {
                ActiveCImage2 = new CImage(openFileDialog.FileName);
            }
            catch (Exception ex)
            {
                MessageBox.Show(this,
                                Resources.Image1_Image1Load_Error_opening_file__ + openFileDialog.FileName +
                                Resources.Image1_Image1Load__because__ + ex.Message + Resources.Image1_Image1Load___ +
                                ex.GetType().Name + Resources.Image1_Image1Load____, Resources.Image1_Image1Load_Open___,
                                MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

    }
}

5

Re: Допоможіть пошукати різницю інтенсивностей 3 зображень

Можна використати формат PGM, це практично той же самий двомірний масив.

6

Re: Допоможіть пошукати різницю інтенсивностей 3 зображень

В мене різні вхідні зображення а в подальшому вони поступатимуть з камери

7

Re: Допоможіть пошукати різницю інтенсивностей 3 зображень

Є клас System.Drawing.Bitmap з методами GetPixel/SetPixel та конструкторами хоч з файлу, хоч з Image.