Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Windows Forms
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.04.2014, 09:15   #1
Любимая
 
Регистрация: 09.05.2013
Сообщений: 6
Восклицание WinForms C# количество пикселей одного цвета

Доброго времени суток, при разработке программы возникла проблема с подсчетом пикселей одного цвета, красного.

Необходимо, чтобы на картинке в pictureBox считалось количество красных пикселей, как это сделать, если при сдандартном цикле for с функцией GetPixel() и if не работает, выдает ноль.

пример изображения ниже

помогите

заранее спасибо
Изображения
Тип файла: jpg pic.jpg (7.8 Кб, 139 просмотров)
на самом деле главное - это не сдаваться
Любимая вне форума Ответить с цитированием
Старый 29.04.2014, 09:19   #2
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
Вопрос

Пока не с чем помогать. Наработки где?
Streletz вне форума Ответить с цитированием
Старый 29.04.2014, 09:28   #3
Любимая
 
Регистрация: 09.05.2013
Сообщений: 6
По умолчанию

Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using SimpleImageProcessing;
using System.Runtime.InteropServices;

namespace PhotoProcesser
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private Bitmap origin;
        private int n;

        private void button1_Click(object sender, EventArgs e)
        {
            var ofd = new OpenFileDialog(){Filter = "*.jpg|*.jpg"};
            if (ofd.ShowDialog(this) == DialogResult.OK)
            {
                origin = (Bitmap) Image.FromFile(ofd.FileName);
                pictureBox1.Image = origin;
            }
        }

        private void button3_Click(object sender, EventArgs e)
        {
           
            var src = new ImagerBitmap(origin.Clone() as Bitmap);
            var dst = new ImagerBitmap(origin.Clone() as Bitmap);
           for (int x = 1; x < dst.Bitmap.Width-1; x++)
                for (int y = 1; y < dst.Bitmap.Height-1; y++)
                {
                    Color r = dst.GetPixel(x, y);
                    if (r == Color.Red)
                    {
                        n++;
                    }
                }
            label1.Text = n.ToString();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            Close();
        }
        
        
        
        }

    }
на самом деле главное - это не сдаваться
Любимая вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сколько пикселей определенного цвета на изображении nastyaa Общие вопросы Delphi 1 08.09.2011 20:59
Получения цвета пикселей с рабочего стола Kaban4ig Общие вопросы Delphi 0 02.05.2011 16:39
Количество пикселей определенного цвета zih Общие вопросы Delphi 4 20.10.2010 23:57
AutoIt Подсчет кол-ва пикселей определенного цвета в определенной области активного окна z3xix13 Помощь студентам 0 02.10.2010 14:27
поиск цвета пикселей nolz Общие вопросы Delphi 1 27.05.2010 13:30