31.07.2009

Обработка сфотографированых/отсканированных страниц документов с помощью imagemagick

Есть сфотографированные с экрана документы в формате jpg. Размер файла ~1,5 Мб. Это куски диссертаций сфотографированные в библиотеке. Поскольку фотографировалось "с рук" на всех фото есть черные полосы, само изображение серо-синее.
Задача: сделать страницы более удобочитаемыми и пригодными для печати на принтере.

Сначала решил, что с такой задачей справиться unpaper - unix аналог знаменитого сканкромсатора. Но эксперимент с unpaper показал, что он в этом случае не поможет, слишком плохое качество исходного изображения. Пришлось методом проб и ошибок с помощью утилит imagemagic приводить изображение к приемлемому для печати виду: конвертировать цветное изображение в оттенки серого, повернуть на 90 град, обрезать черные края, увеличить яркость и контраст.

Поэкспериментировав пару часов, написал небольшой скрипт.

#!/bin/bash
echo 'Processing: converting to 8 bit depth'
for f in *; do mogrify -depth 8 $f; done
echo 'done'
echo 'Processing: converting colorspace to grey'
for f in *; do mogrify -colorspace GRAY $f; done
echo 'done'
echo 'Processing: normalizing'
for f in *; do mogrify -normalize $f; done
echo 'done'
echo 'Processing: rotate'
for f in *; do mogrify -rotate "90" $f; done
echo 'done'
echo 'Processing: crop'
for f in *; do mogrify -crop 2040x2990+210+105 $f; done
echo 'done'
echo 'Processing: modulate'
for f in *; do mogrify -modulate 200 $f; done
echo 'done'
echo 'Processing: contrast'
for f in *; do mogrify -contrast -contrast $f; done
echo 'done'


mogrify -depth 8 - на всякий случай конвертирует 16-битное изображение в 8-битное

mogrify -normalize - улучшает контраста на изображении

mogrify -colorspace GRAY - конвертирует цветное изображение в оттенки серого

mogrify -rotate "-90" - поворачивает изображение на 90 град

mogrify -crop 2100x3000+90+270 - обрезка, - задается размер фрагмента, который останется после обрезки 2100x3000 и его смещение относительно левого верхнего угла +90+270, для определения параметров обрезки
(по русски будет так: -crop ШиринаxВысота(конечного_изображения){+-}<Сдвиг_по_Х>{+-}<Сдвиг_по_Y>{%})

display название_файла.jpg щелкнуть левой кнопкой мышки, в появившемся меню пункт Transform, подменю Crop, выделить фрагмент, в левом верхнем углу, под окошком с Crop/Dismis в прямоугольнике и будет то, что нужно в готовом виде 2100x3000+90+270
То же самое можно сделать в Gimp-е там удобнее с масштабом.

mogrify -modulate 200 - увеличивает яркость

mogrify -contrast -contrast - увеличивает контраст (количество опций "-contrast" нужно подбирать от 1 до нескольких)

Для удобства контроля за процессом добавил сообщения:
echo 'Processing: converting colorspace to grey'
благодаря этому четко видно на каком этапе находиться процесс выполнения скрипта.
Иногда достаются уже отсканированные книги с помощью FineReader. Кроме того, что ужасное качество сканов, так еще и tiff получаемый на фыхлопе многофреймовый. Решить эту проблему можно так:
for f in *; do convert $f[0] new/$f; done

[0] - номер фрейма, который нужно извлечь (нумерация конечно же с нуля :)
перед запуском команды нужно создать папку new, куда и будут сохранятся выдранные фреймы из каждого файла

Привожу для сравнения
исходное (сырое) изображение из фотоаппарата


обработанное с помощью скрипта и imagemagick



Внимание! В скрипте используется команда mogrify - она заменяет исходный файл на файл с результатом обработки, поэтому перед началом работы сделайте копию обрабатываемых изображений на тот случай, если вы ошиблись с подбором какого то параметра. Вместо mogrify можно использовать convert, но тогда возникают проблемы с фильтрацией имен файлов, так как после выполнения первой команды в каталоге появятся файлы - результаты ее работы. Можно их складывать в отдельную папку и для следующей команды брать из нее или сортировать имена файлов. Я решил не заморачиваться и оставить все как есть.

Надеюсь мой опыт кому то пригодиться.
Знаю все, что сделал можно было реализовать иначе, поэтому если у кого то есть желание прокомментируйте и расскажите как бы вы решили такую задачу!

30.07.2009

Ускорение запуска FireFox

Думаю, что все замечают, - Firefox через некоторой время использования медленно запускается, дольше открывает страницы, долго завершает работу.
Основная причина такого поведения - фрагментирование sqlite, базы данных.

Для решения проблемы существует специальная команда «очистки», точнее операция пересоздаёт файл базы, но уже без пустых мест. Для этого нужно проделать следующее:
поставьте из репозитория пакет sqlite3
(выйти из firefox, иначе не будет доступа к базе)
find ~/.mozilla/firefox/ -name *.sqlite -exec sqlite3 {} VACUUM \;
или
cd ~/.mozilla/firefox/*.default/
for i in *.sqlite; do echo "VACUUM;" | sqlite3 $i ; done

По материалам Хабрахабр

23.07.2009

WIFI на HP Mini 2140 и Ubuntu 9.04

Купил недавно нетбук HP Mini 2140, естественно сразу водрузил на него Ubuntu. Все чудесно, но :) с родным ядром 2.6.28 постоянно падают иксы. Поэтому пришлось ставить экспериментальное http://kernel.ubuntu.com/~kernel-ppa/mainline/. Несмотря на свежее ядро одна проблема все таки возникла - WiFi не находил сеть, хотя железо было обнаружено и драйвер установлен.
Вот что покаазывает выхлоп:
sudo lspci | grep Broad
08:00.0 Network controller: Broadcom Corporation BCM4322 802.11a/b/g/n Wireless LAN Controller (rev 01)

Пришлось собирать фирменный драйвер от производителя broadcom-sta.

1. Ставим b43-fwcutter - утилита для распаковки Broadcom 43xx firmware

sudo apt-get install b43-fwcutter

2. Устанавливаем пакет, необходимый для сборки модулей ядра:

sudo apt-get install module-assistant


3. Скачиваем и устанавливаем пакеты с исходниками broadcom-sta и все, что вытянется по зависимостям:
http://packages.debian.org/ru/sid/broadcom-sta-common
http://packages.debian.org/ru/sid/broadcom-sta-source


4. Собираем всё модуль ядра и устанавливаем:

sudo m-a a-i broadcom-sta


5. Пробуем подгрузить модуль:

sudo modprobe wl

Через несколько секунд менеджер сети обнаружил мою домашнюю беспроводную сеть.


6. Что бы модуль автоматически подгружался после загрузки добавляем строчку wl в файл /etc/modules

По материалам http://forum.ubuntu.ru/
Но, к сожалению не все еще работает как хотелось, иногда ноутбук не реагирует на закрытие крышки, а иногда не просыпается после сна...

22.07.2009

Прямой путь к ясному сознанию

Сайт Бодхи. Автор предлагает Прямой путь к ясному сознанию - основываясь только на собственном опыте, фактически создав достаточно целостную систему, эффективную и адаптированную к современной действительности.

Эта книга является практическим руководством. В ней изложены методы, искреннее и настойчивое следование которым приведет любого человека предельно коротким и ясным путем к свободе от страданий (негативных эмоций, ложных концепций, механических желаний, неприятных ощущений), к началу совершенно иной жизни, наполненной открытиями, озаренными восприятиями.
Книга адаптирована к современной жизни и достаточно детализирована, так как я не хочу вызвать в читателе простой всплеск эмоций, после которого наступит спад и возврат к прежней тусклой жизни, а хочу точно указать на прямой путь к озаренным восприятиям.
Задача-минимум - достичь такого состояния, при котором в момент смерти будет полностью сохранена ясность сознания, что позволит продолжать свою практику и в состояниях между рождениями и в последующих рождениях без перерыва, без скатывания в омраченность, находясь в непрерывных проявлениях ОзВ, в состоянии полной свободы от страданий. Трудно выразить ту грандиозную пропасть, которая лежит между человеком, добившимся этого, и обычными людьми.


Кроме того на сайте есть и художественные произведения достаточно ярко описывающие жизнь практикующих. Вот, что пишет сам автор:

Я решил написать несколько книг, каждая из которых несет свою нагрузку: книга "Путь к ясному сознанию" будет сухой инструкцией, справочником. В "Майе" мы со Скво в более художественной форме описываем жизнь практикующих, что дает больше впечатлений, чем конкретных инструкций. "Ход тигром" несет ту же функцию, что и Майя, но в изложении, более подходящем для подростков. Сборник рассказов о сексуальных СЭ - для тех, кто очень интересуется сексуальным развитием и склонен использовать свои сексуальные желания в качестве одного из двигателей в изменении себя, и в этом сборнике он найдет как практические рекомендации в области развития сексуальности, преодоления омрачений, связанных с сексом или хорошо выявляемых на почве сексуальности, так и впечатления. «Сборник статей практикующих» предназначен для более детального освещения узких вопросов, с которыми морды сталкиваются в своей практике. И так далее. Я решил выпустить в свет целую серию книг (да и многие морды тоже любят писать), и каждая книга, каждый элемент творчества будет нести в себе "ядро" практики, обернутое в разную оболочку. Фактически я хочу построить новую культуру - культуру, вырастающую из свободы от НЭ, концепций, берущую свои корни из озаренных восприятий, радостных желаний.

21.07.2009

Не такой уж фантастический рассказ "апостола" GNU Р.Столмана «Право читать»

Кто не знает или не читал фантастический рассказ "апостола" GNU Р.Столмана «Право читать» найдите время и прочтите. К сожалению, с каждым годом рассказ становиться все ближе к реальности.

17.07.2009

2 интересные работы автора под псевдонимом Два Мистика «Луна в облаках» и «Шёпот дождя»

Не Linux-ом единым жив человек...

Тем кто интересуется саморазвитием, развитием осознания, дзен, дзогчен и т.п.

Наткнулся на очень интересные самиздатовские брошюры в виде дневников:

Два Мистика «Луна в облаках», Два Мистика «Шёпот дождя»
чем интересна? автор довольно подробно и "по русски" описал свой опыт продвижения по "пути", делясь опытом и щедро раздавая неприлично простые, но как всегда трудно выполнимые из за сопротивления ЭГО рецепты.

Пара цитат:
Записи, которые составляют “Луну в облаках” и “Шепот дождя”
являются не более чем психологическими дневниками. В них описан мой
опыт, мои озарения, которые не являются истиной в последней
инстанции...


Моё Лекарство: тишина и сознательное расслабление тела.
Сажусь около печи (или камина) на стул и сознательно расслабляю руки,
ноги голову, живот, дыхание. Расслабив живот, ощущаю, что в нем
происходит. Испытываю “погружение”. Погружаюсь всё глубже. Не
забываю, что я наблюдатель, чувствующий.
Дозировка: понемногу каждый день. По мере возможности
сохраняю состояние сознательного расслабления так же во время
повседневной деятельности.


Настоятельно рекомендую к прочтению!

Установка Firefox 3.5 в Ubuntu 9.04 с человеческим лицом

Давно вышел Firefox 3.5, но к сожалению в Ubuntu 9.04 Firefox не обновился и появились в блогах советы, как поставить Firefox актуальной версии. Но после установки Firefox 3.5 его интерфейс на английском, и ярлык его называется shiretoko.

А почему собственно такая суета именно вокруг обновления Firefox-а? Да потому, что он у большинства линуксоидов является броузером по-умолчанию. А броузер сейчас, однако, программа №1!

Для установки самой свежей версии Firefox (а вернее всех продуктов Mozilla Firefox, Mozilla SeaMonkey, and Mozilla Thunderbird) в Ubuntu был создан скрипт на Pithon ubuntuzilla. Он берет на себя функцию обновления продуктов Mozilla до актуальной версии и, что очень важно, последующей их локализации.
Скрипт качает с официального сайта последнюю доступную Linux сборку продуктов, спрашивает какую локализацию установить. По желанию, можно сделать обновление автоматическим с помощью at сервиса (дав утвердительный ответ на последний вопрос).


1. Качаем пакет со скриптом
для 32-ух битных систем
wget http://downloads.sourceforge.net/sourceforge/ubuntuzilla/ubuntuzilla-4.6.1-0ubuntu1-i386.deb?use_mirror=sunet
для 64-ех битных систем
wget http://downloads.sourceforge.net/sourceforge/ubuntuzilla/ubuntuzilla-4.6.1-0ubuntu1-amd64.deb?use_mirror=sunet

2. Устанавливаем пакет в систему
sudo dpkg -i ubuntuzilla-4.6.1-0ubuntu1-i386.deb

3. Запускаем скрипт, отвечаем на несколько вопросов
ubuntuzilla.py -a install -p firefox

Ну и конечно не обошлось без косяка. У меня при установке deb пакета со скриптом, почемуто не разрешилась зависимость, поэтому пришлось перед повторной попыткой установки скрипта вручную поставить
sudo apt-get install libnotify-bin

После обновления Firefox полностью рабочий, интерфейс локализован, из расширений отвалился только Google Gears, кому он нужен не обновляйтесь пока.

12.07.2009

Ubuntu Tweak - быстрая и простая настройка Ubuntu в одном окне

Китайский студент написал GTK приложение для того, что бы быстро настроить свежеустановленную Ubuntu.

Ubuntu Tweak представляет собой приложение, предназначенное для простой конфигурации Ubuntu.
В нем предусмотрено много полезных настроек для настольной системы, изменение которых по умолчанию не предусмотрено.
В настоящее время Ubuntu Tweak предназначен только для Ubuntu GNOME Desktop.


Возможности Ubuntu Tweak:

* Просмотр основной системной информации (ядра, процессор, память и т.д.)
* Контроль сессий GNOME
* Настройка автозапуска программ
* Установка в один клик наиболее популярных приложений
* Выбор альтернативных репозитариев программного обеспечения
* Очистка кэша загруженных пакет программного обеспечения
* Настройка Показать/Скрыть и сменить заставку
* Настройка Показать/скрыть значки на рабочем столе
* Настройка Показать/Скрыть на рабочем столе значки: Мой Компьютер, Корзина, Сеть
* Настройки оконного менеджера Метасити: изменение стиля и поведения
* Настройки Compiz Fusion
* Установка ссылок для быстрого доступа к вашим любимым приложениям
* Настройки GNOME Панели
* Настройки файлового менеджера Наутилус
* Настройки параметров управления питанием
* Настройки системы безопасности безопасности

03.07.2009

On-Line FineReader для линуксоидов

Благодаря habrahabr.ru/ узнал, о том, что появился интересный (и бесплатный) сервис Finereaderonline.com.
Работает очень просто: регистрируемся, загружаем страницу, которую необходимо распознать, указываем формат сохранения результата (доступны: doc, pdf, xls, txt, rtf), нажимаем кнопку "Распознать". Через несколько секунд на почтовый ящик, указанный при регистрации, приходит письмо с ссылкой на распознанный документ.
Единственное неудобство, что нельзя сразу загрузить 3-4 страницы.