Комментарии 42
Повесить над доской камеру и записывать лекции? Идея.
А если доска будет зелёная?
А если доска будет зелёная?
Можно написать универсальный скриптик на каком python, который будет убирать фон любого цвета, инвертировать что нужно… было бы желание, алгоритмы то простые.
convert in.jpg -negate \( +clone -blur 0x20 \) -compose Divide_Src -composite -normalize -level 10%,90% -unsharp 0x5+2+0 out.jpg
Пробуйте, должно получиться более-менее. Только с цветными мелками будет проблема — нужно инвертировать цвета:)
Даже не верится.
Спасибо за скрипт. Я, как новичок в в linux, поражен такой краткостью и такими результатами. Раньше я бы открывал фотошоп и начинал применять кучу фильтров… Еще один плюс к карме моей Ubuntu :)
ImageMagick никто не отменял на Mac и Windows
Кучу не надо. Select->Color Range это все.
попробуйте Color Range на исходном изображении из статьи, и вы увидите, что это далеко не всё. Больше получаса не тратьте — скрипт и ImageMagic работают действительно хорошо.
levels + color range мне кажется справится. Увы под рукой сейчас нету ничего что бы проверить.
Кратко и по делу :)
В WP8 есть приложение от МС для камеры Office Lens, с очень похожим результатом.
Фотаешь доску после митинга, получаешь чистую фотку и в один клик импортишь в OneNote
Вот результат фотографирования доски с экрана монитора dl.dropboxusercontent.com/u/486235/wp_ss_20140404_0001.png
Фотаешь доску после митинга, получаешь чистую фотку и в один клик импортишь в OneNote
Вот результат фотографирования доски с экрана монитора dl.dropboxusercontent.com/u/486235/wp_ss_20140404_0001.png
fix:
Обратите внимание на кавычки вокруг $1 и $2 — без них не поддерживаются длинные имена файлов.
#!/bin/bash
convert "$1" -morphology Convolve DoG:15,100,0 -negate -normalize -blur 0x1 -channel RBG -level 60%,91%,0.1 "$2"
Обратите внимание на кавычки вокруг $1 и $2 — без них не поддерживаются длинные имена файлов.
В ImageMagick очень много способов сделать это:
www.fmwconcepts.com/imagemagick/whiteboard/
Недостаток этого скрипта в том, что он работает довольно медленно.
Вот этот скрипт делает то же самое, но быстрее и на все времена (из документации ImageMagick):
Добавить
www.fmwconcepts.com/imagemagick/whiteboard/
Недостаток этого скрипта в том, что он работает довольно медленно.
Вот этот скрипт делает то же самое, но быстрее и на все времена (из документации ImageMagick):
convert in.jpg \( +clone -blur 0x20 \) -compose Divide_Src -composite -normalize -level 10%,90% -deskew 40% -unsharp 0x5+2+0 out.jpg
Добавить
-deskew 40%
— по вкусу, чтобы компенсировать вращение камеры.да, действительно быстрее, на моей машине — раза в два.
Но у скрипта «whiteboardClean.sh» получилось более «жирно».
Но у скрипта «whiteboardClean.sh» получилось более «жирно».
Тут уже как уровни подкорректировать. Я unsharp и level на глазок поставил. Можно paint или median фильтр применить, буквально единичку для более равномерного контура. А если убрать unsharp и deskew — ещё раза в два быстрее будет:)
Я аналогичный алгоритм для обработки сканов использую, но там надо аккуратно — попадаются рисунки, которые такими агрессивными фильтрами можно сильно покалечить. Будет время сделаю заметку на эту тему.
Я аналогичный алгоритм для обработки сканов использую, но там надо аккуратно — попадаются рисунки, которые такими агрессивными фильтрами можно сильно покалечить. Будет время сделаю заметку на эту тему.
как след. шаг конвеера добавить распознование символов по изображению и сохранить в pdf например
НЛО прилетело и опубликовало эту надпись здесь
Это очень легко сделать на самом деле — из AppleScript вызывать bash-скрипт с переданным именем файла. А выполнение AppleScript повесить на событие помещения файла в указанный каталог.
посмотрите в коментариях Гиста, там есть пример:
gist.github.com/lelandbatey/8677901
gist.github.com/lelandbatey/8677901
Скрипт
on open thefiles
repeat with thefile in thefiles
set finalpath to POSIX path of thefile
do shell script "mktemp -t image"
set temppath to the result
set success to false
try
do shell script "/usr/local/bin/convert '" & finalpath & "' -morphology Convolve DoG:15,100,0 -negate -normalize -blur 0x1 -channel RBG -level 60%,91%,0.1 '" & temppath & "'"
set success to true
on error theerror
display dialog "Conversion failed: " & theerror
end try
if success then
do shell script "mv '" & temppath & "' '" & finalpath & "'"
display notification "Converted " & finalpath
end if
end repeat
end open
НЛО прилетело и опубликовало эту надпись здесь
Я немного не соглашусь со статьей «How to clean up photos of whiteboards with Gimp».
Вот мой результат через фотошоп.
Обратите внимание, текст какой был такой и остался. Никаких фильтров обработки краев (читай прощай детали) к нему не применялось. Изображение обрабатывалось только контрастными фильрами.
А фишка оочень простая.
Для того чтобы вычленять объект по контрасту с однородного фона, который освещен неравномерно. (засветы сверху) нужно выравнять его с помощью фильтра highpass. Этим мы убираем перепады овещения. После этого работаем уровнями по привычке.
Никаких деструктивных действий для деталей текста, которые используются в примере выше здесь не применяется. В следствие чего у нас выходит неплохой результат.
Все консольные программы хороши только тем что на них можно орабатывать изображения без интерфейса. А вот без интерфейса вы параметры для фильтров через консоль просто замучаетесь подбирать.
Вот мой результат через фотошоп.
Обратите внимание, текст какой был такой и остался. Никаких фильтров обработки краев (читай прощай детали) к нему не применялось. Изображение обрабатывалось только контрастными фильрами.
Заголовок
А фишка оочень простая.
Для того чтобы вычленять объект по контрасту с однородного фона, который освещен неравномерно. (засветы сверху) нужно выравнять его с помощью фильтра highpass. Этим мы убираем перепады овещения. После этого работаем уровнями по привычке.
Никаких деструктивных действий для деталей текста, которые используются в примере выше здесь не применяется. В следствие чего у нас выходит неплохой результат.
Пример
Все консольные программы хороши только тем что на них можно орабатывать изображения без интерфейса. А вот без интерфейса вы параметры для фильтров через консоль просто замучаетесь подбирать.
Все консольные программы хороши только тем что на них можно орабатывать изображения без интерфейса.
Они хороши тем, что работают быстро и применимы к целому ряду задач. Вот методом ручной коррекции в GIMP отсканированную книгу 500 листов не обработаешь, а в ImageMagick — элементарно. Если у вас куча таких лекций и сотня фотографий — ImageMagick ваш друг.
Для ручной коррекции пакетной обработки есть в шопе actions и batch proccessing тока они меня бесят, поскольку грузять все в интерфейс (оперативку) и только вот потом уже… Не знаю что там на счет гимпа.
В любом случае, подобрать параметры, играть с тестовым изображением лучше в графическом редакторе, а уже эти настройки использовать как константы для консольных утилит, которые я никак не принижаю.
Отработать коэфиценты фильтров на тестовых фотографиях лучше в GUI.
В любом случае, подобрать параметры, играть с тестовым изображением лучше в графическом редакторе, а уже эти настройки использовать как константы для консольных утилит, которые я никак не принижаю.
Отработать коэфиценты фильтров на тестовых фотографиях лучше в GUI.
В шопе… Каждому студенту по программе за килобакс, для того чтобы фоткать лекции:) В ГИМПе такой batch, что можно сказать его и нет. Для студента как раз полезнее приобщиться к IM-сообществу, так как есть реально чему поучиться, поучаствовать в GSoC и т. п.
Это пожалуй единственное, чего не хватает в ImageMagick после GIMP/PS. Там есть GUI, но он настолько убог, что командная строка на порядки удобнее. Но сделать обертку над ImageMagick в виде GUI не так уж сложно, так что со временем не исключено что появится.
В любом случае, подобрать параметры, играть с тестовым изображением лучше в графическом редакторе
Это пожалуй единственное, чего не хватает в ImageMagick после GIMP/PS. Там есть GUI, но он настолько убог, что командная строка на порядки удобнее. Но сделать обертку над ImageMagick в виде GUI не так уж сложно, так что со временем не исключено что появится.
Вдохновленный статьей сделал за выходные сервис — сейчас доступен по ссылке http://api.o2b.ru/whiteboardcleaner
Правда текущая версия поддерживает только единичную загрузку и браузеры с поддержкой HTML5.
Правда текущая версия поддерживает только единичную загрузку и браузеры с поддержкой HTML5.
Как-то не особо работает...
И при попытке скачать какие-то неведомые неполадки сервера :)
Какой у вас браузер и его версия?
И было бы хорошо, если бы вы дали ссылку на файл, который вы загружали. Чтобы можно было проверить. Т.к. на сервере файлы не сохраняются, все делается в пямяти.
И было бы хорошо, если бы вы дали ссылку на файл, который вы загружали. Чтобы можно было проверить. Т.к. на сервере файлы не сохраняются, все делается в пямяти.
Последний Google Chrome, Ubuntu 14.04, картинка тут cs6032.vk.me/v6032065/893a/SjmVlNOsnPY.jpg
Под убунтой проверить пока нет возможности, но под последней версией Chromе 33.0.1750.154 m под Win7 эта картинка обрабатывается нормально
Картинка
Проверил под Убунтой 12 x64, в Chrome 33 работает. http://s16.postimg.org/xcs9noa2t/Capture.png. На сайте нашел только 12 и 13 версию, 14 версии не видел.
Странно… При выборе изображения оно отправляется на сервер, сервер отвечает
Но по адресу api.o2b.ru/file/QyY5stciWdVREegoe1iGWYsWnFsHHRtO nginx отвечает 403.
Успехом
{
"data": {
"updated_date": null,
"delete_date": "2014-04-08T00:00:00",
"url_get": "/file/QyY5stciWdVREegoe1iGWYsWnFsHHRtO",
"url_delete": "/file.delete/6SOxiitH1r4bYDkVaeepd7SPjlhu5rTi",
"created_date": "2014-04-06T14:30:26.400509",
"deleted_date": null,
"size": 54885,
"type": "image/jpeg",
"id": 43,
"name": "t6nZck7NQR0.jpg"
},
"success": true
}
Но по адресу api.o2b.ru/file/QyY5stciWdVREegoe1iGWYsWnFsHHRtO nginx отвечает 403.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Один крутой Gist: whiteboardCleaner