Я сделал программу, чтобы получить все цветовые коды RGB с изображением. В принципе, он устанавливает y-позицию на константу и меняет положение x на нуль на ширину, а также y путем циклирования.Получить всю информацию о пикселях изображения эффективно
Хорошо, это работает, но проблема заключается в том, что для получения всего пикселя с высоты (1000 * 604 высоты) требуется всего 20 минут. Пожалуйста, помогите?
Я удивлен, если этот процесс длится так долго, то как мы можем сделать программу, такую как считыватель штрих-кода из изображения. Я хочу получить все значения пикселей из изображения, вот мой код C# ниже.
Я также загрузил свою программу here, проверьте ее, если вы не согласны.
void myimage() {
mypic = new Bitmap(pathname);
int imwid = mypic.Width;
int imhei = mypic.Height;
int total=imwid*imhei;
for (int z = 0; z <imhei;z++)
{
for (int i = 0; i < imwid; i++)
{
Color pixelColor = mypic.GetPixel(i, z);
textBox2.AppendText(" " + pixelColor.R +
" " + pixelColor.G +
" " + pixelColor.B + " " +
pixelColor.A +
Environment.NewLine);
}
}
}
Возможный дубликат [C# Обработка изображений с помощью блокировки, альтернатива getpixel?] (Http://stackoverflow.com/questions/12168654/c-sharp-image-processing-with-lockbits-alternative-to-getpixel) – CodeCaster
Кроме того, вызывать 'TextBox.AppendText' несколько десятков тысяч раз медленнее. Используйте 'StringBuilder'. – CodeCaster
Кроме того, «как мы создаем программу, такую как считыватель штрих-кода из изображения» _, не изобретайте велосипед: см. [Рекомендовать библиотеку чтения штрих-кода .NET с открытым исходным кодом] (http://stackoverflow.com/questions/ 191192/рекомендую-ан-открытый источник-нетто-штрих-читатель-библиотеку). – CodeCaster