Как конвертировать изображение в черно-белое в PHP

Вы не инициализируете соединение. Вот почему такая ошибка приходит к вам.

Ваш код:

cmd.InsertCommand = new SqlCommand("INSERT INTO Application VALUES (@EventLog, @TimeGenerated, @EventType, @SourceName, @ComputerName, @InstanceId, @Message) ");

Исправленный код:

cmd.InsertCommand = new SqlCommand("INSERT INTO Application VALUES (@EventLog, @TimeGenerated, @EventType, @SourceName, @ComputerName, @InstanceId, @Message) ",connection1);
13
задан RAS 19 November 2012 в 11:57
поделиться

5 ответов

Просто вокруг полутонового цвета или к черному или к белому.

float gray = (r + g + b) / 3
if(gray > 0x7F) return 0xFF;
return 0x00;
11
ответ дан Jasper Bekkers 19 November 2012 в 11:57
поделиться
  • 1
    Это походит на хорошее решение. Я знаю, как ввести, и у меня уже есть рабочий код. Могли Вы отправлять образец, как о том, как использовать всю вещь (что Вы просто описали). Спасибо! – wonderer 29 July 2009 в 15:48

Используя библиотеку php gd :

imagefilter($im, IMG_FILTER_GRAYSCALE);
imagefilter($im, IMG_FILTER_CONTRAST, -100);

Проверка комментарии пользователей в ссылке выше для большего количества примеров.

20
ответ дан Joel Wietelmann 19 November 2012 в 11:57
поделиться
  • 1
    Общая память файлы с отображенной памятью. Что Вы пытаетесь сделать? – bdonlan 29 July 2009 в 15:34

Для каждого пикселя необходимо преобразовать от цвета до шкалы полутонов - что-то как $grey = $red * 0.299 + $green * 0.587 + $blue * 0.114; (это весовые коэффициенты NTSC; существуют другие подобные коэффициенты. Это подражает переменной скорости отклика глаза к различным цветам).

Тогда необходимо выбрать значение сокращения - обычно половина максимального пиксельного значения, но в зависимости от изображения можно предпочесть более высокое значение (сделайте изображение более темным), или ниже (делают изображение более ярким).

Просто сравнение каждого пикселя к сокращению теряет много детали - т.е. большие темные области идут абсолютно черные - так для сохранения большей информации, можно размыться. В основном запустите наверху оставленный изображения: поскольку каждый пиксель добавляет ошибку (различие между исходным значением и финалом присвоенное значение) для пикселей налево и выше прежде по сравнению со значением сокращения.

знать, что выполнение в этом PHP будет очень медленным - необходимо было бы гораздо дальше вперед найти библиотеку, которая обеспечивает это.

0
ответ дан Hugh Bothwell 19 November 2012 в 11:57
поделиться
  • 1
    that' s право. Мой друг использует результат. Значение для получения TRUE или FALSE. – Junior M 31 October 2009 в 15:51

Если Вы будете намереваться сделать это сами, необходимо будет реализовать размывающийся алгоритм . Но как говорит @jonni, использование существующего инструмента было бы намного легче?

2
ответ дан Community 19 November 2012 в 11:57
поделиться
  • 1
    Спасибо за комментарии. Они разъясняют ситуацию немного больше. Та статья doesn' t действительно говорят какой API или методологии использовать все же. – wonderer 29 July 2009 в 15:29

Вы могли выйти из оболочки к imagemagick, предположив, что Ваш хост поддерживает его. Какую функцию Вы хотите использовать для решения, если пиксель должен быть черным или белым?

6
ответ дан jonnii 19 November 2012 в 11:57
поделиться
  • 1
    Спасибо. Можно ли уточнить? Я знаю, как ввести, that' s не проблема. – wonderer 29 July 2009 в 15:40
Другие вопросы по тегам:

Похожие вопросы: