Опишу свою технологию работы с программой. Кое что уже писал, но повторю, чтобы все в одном месте было.
1. Оборудование.
Использую сканер Mustek ScanExpress A3 USB 600 PRO.
Автор программа подсчета очков предлагает сделать короб для прижима листа мишени по периметру и создания темного неотражающего пространства над мишенью. У данного Мустека прижимная площадка на крышке матовая и черного цвета. Это облегчает изготовление рекомендованного короба для создания черного пространства за сканируемой мишенью — достаточно наклеить по периметру площадки самоклеющийся уплотнитель толщиной 5-7 мм черного или серого цвета (можно посмотреть в строительных и хоз.магазинах - уплотнения для окон, дверей и т.д.). Однако, как выяснилось опытным путем, тот короб, что рекомендован разработчиком программы, хорошо работает только в случае идеально плоского листа мишени, который плотно прилегает к поверхности стекла сканера по всей площади. Но если лист имеет небольшие деформации в следствии замятия, отсыревания (стрельба в дождливую погоду, увы , не редкость) или по другим причинам, место, неплотно прилегающее к стеклу, дает очень плохое изображение : снижены резкость, контрастность и яркость, изображение в этом месте какое-то «грязное». Соответственно, при попытке программой подсчета обработать такую зону, происходят ошибки в определении центра мишени, пробоин и.д.
Поэтому я немного доработал свой «встроенный короб Mustek-а» — наклеил дополнительные прижимные уплотнители с таким расчетом, чтобы они попали в промежутки между зачетными зонами. Вот таким образом:
Вложение:
scaner_kr1.jpg [ 131.67 КБ | Просмотров: 55992 ]
Вложение:
scaner_kr2.jpg [ 165.54 КБ | Просмотров: 55992 ]
Теперь прилегание плотное и равномерное по всей поверхности листа в любом случае.
Это очень важный момент — чем лучше качество скана, тем точнее работает программа подсчета.
2. Сканирование
Как известно, в программе подсчета очков отсутствует модуль сканирования и ей надо скармливать файлы насканированные самостоятельно заранее каким-либо удобным образом.
Я сначала сканировал штатным софтом, который ставтся с драйверами принтера, но, в связи с тем, что программа подсчета достаточно капризна, я пытался корректировать файлы скана в части яркости, контрастности, насыщенности, баланса белого и т.д. для получения изображения, наиболее приемлемого для программы. Штатный софт имеет крайне слабые возможности корректировки, а обрабатывать потом еще каждый скан в графическом редакторе — ну очень накладно в плане трудозатрат. Поэтому для меня встал вопрос использования специализированной программы сканирования. Перебрал несколько штук, по совокупности удобства работы и возможностей, больше всего мне понравилась программа
VueScan. Ее теперь и использую. Могу рекомендовать и остальным ее попробовать.
Ниже мои настройки этой программы.
Вложение:
scaner1.jpg [ 109.98 КБ | Просмотров: 55992 ]
Здесь:
«Папка по умолчанию» — папка, куда будут сохранятся готовые сканы.
«Имя файла JPEG» — как будут именоваться сохраняемые сканы.
***Здесь небольшое отступление. Еще раз расскажу о своей системе присвоения имен файлам сканирования.
Итак, имя скана у меня имеет вид ХХХХХХХ_№№№№.jpg Где ХХХХХХ -префикс - любой текст/цифры, а _№№№№ - суффикс - цифровой идентификатор стрелка(только цифры). Если не будет этого _№№№№, программа будет ругаться на имя файла.
Сильно длинное имя файла делать не стал - неудобно работать с таким, может и в окошко не влезть. Поэтому поступил так: каждому стрелку кузбасской площадки присвоил цифровой идентификатор (суффикс). Например, мой - 42102. Первые две цифры - 42 - код Кемеровской области по классификации ГАИ , 102 - личный порядковый номер.
Т.е. стрелок с идентификатором 42102 - стрелок из Кемеровской области Евгений Шершнев .
Думаю, такие идентификаторы можно присвоить всем стрелкам. Сразу. Навсегда.
Будут появляться новые стрелки - закреплять им за ними новые идентификаторы, по порядку.
И можно сделать единый для всех конфигурационный файл для программы shooters.txt (лежит в C:\TrueScore\data\ ). Тогда у всех "счетчиков" будет единая база стрелков, и можно будет просто подсунуть мишень любого стрелка с любой площадки и программа обсчитает ее без каких либо затыков и выдаст вам результат именно этого стрелка .
Теперь префикс. Тут идея пришла уже в ходе сканирования/обработки. Я сначала отсканировал все мишени в один каталог, а потом уже всю кучу по классам скармливал программе. Так вот, чтобы удобнее было выбрать мишени в программе для нужного класса, в префиксе я указывал сначала класс (HV, LV, OP), а потом номер мишени.
Т.е. имена сканов выглядели так: HV1_42102.jpg, OP2_42106.jpg и т.д. Вроде все понятно.
При обработке, скажем класса HV, в окошке программы, из всей кучи сканов, отсортированных по алфавиту, выбираются все файлы начинающиеся на HV. Для OPEN - на ОР. Очень экономится время и снижается риск пропустить нужную мишень.
Включать в имя файла год и номер этапа - не вижу особого смысла. Во-первых, увеличивается длина имени, а во-вторых, удобнее все-таки хранить в каталогах ГОД с подкаталогами ЭТАП (дата). Если все валить в одну кучу - в этой свалке со временем замучаешься что-нибудь найти.
В программе VueScan имеется встроенный удобный инструмент, типа простенького языка скриптов, благодаря котором, программа может автоматически присваивать нужные имена файлам при записи. Если посмотреть на скрин выше — видно, что у меня в строчке «Имя файла JPEG» указано HV1+_42102.jpg. Работает это так: я беру по порядку три мишени стрелка с идентификатором 42102 (стреляет в классе HV) кладу первую в сканер и нажимаю кнопку «Сканировать», потом вторую и снова кнопку, затем третью. В результате у меня в каталоге C:\TrueScore\ появляются файлы HV1_42102.jpg, HV2_42102.jpg, HV3_42102.jpg. Потом берем три мишени другого стрелка, например 42106 стреляющего в классе Open, меняем значение в строчке «Имя файла JPEG» на OP1+_42106.jpg и поторяем процедуру «Вложили лист - нажали кнопку». В каталог со сканами добавились файлы OP1_42106.jpg, OP2_42106.jpg, OP3_42106.jpg. Ну и так далее. Этот метод может работать и при сканировании листов после каждого матча, при скане по одной мишени - программа видит, что файл, например, HV1_42102.jpg уже есть в целевом каталоге, и для стрелка 42102 сделает автоматически HV2_42102.jpg.
***Продолжу дальше про настройки
VueScan.
Нажимаем кнопку «Настройки+»
У меня такие настройки во вкладках:
Вложение:
scaner2.jpg [ 122.46 КБ | Просмотров: 55992 ]
Вложение:
scaner3.jpg [ 112.75 КБ | Просмотров: 55992 ]
Вложение:
scaner4.jpg [ 98.93 КБ | Просмотров: 55992 ]
Вложение:
scaner5.jpg [ 116.06 КБ | Просмотров: 55992 ]
Тут поясню по этому скрину — на этой вкладке параметры финальной обработки изображений с необходимыми корректировками. У меня они получены экспериментальным путем. С ними сканы тех мишеней, которые используются на нашей площадке, нормально «перевариваются» программой подсчета очков. На других площадках может потребоваться поиграть цифрами - это связано с тем, что регионы печатают мишени в разных типографиях и мишени могут отличатся тоном цветов, насыщенностью и т. д. Но можно попробовать оставить и мои значения.
Дальше по настройкам:
Вложение:
scaner6.jpg [ 112.32 КБ | Просмотров: 55992 ]
Вложение:
scaner7.jpg [ 102.22 КБ | Просмотров: 55992 ]
Вот, собственно, и все основное по программе
VueScan. Там есть еще всякие настройки, но уже не значительные — сами можете посмотреть и настроить программу под себя.
3. Подсчет очков.
Если присмотреться к сканам новокузнецкой площадки, то можно заметить, что тонкие окружности внутри широкой "шестерки" не синего, а черного цвета. Ну вот так нам напечатала типография ( больше туда не пойду, хотя цену самую низкую запросили). Не отправлять же теперь кучу мишений на картоне плотностью 300 в макулатуру . Программа к этим окружностям не привязывается. Она находит центр мишени и в самой программе уже заложены координаты 10-ки, 9-ки, 8-ки и т.д., от которых она и считает очки. Когда программа "смотрит" скан, то воспринимает черный цвет как пробоину. А тут для нее многовато черного. Она верно находит саму пробоину, но действительно,на каждой начинает переспрашивать: "а нет ли тут нескольких пробоин?". Чтобы это обойти, нужно изменить параметр определяющий порог площади черных пикселей в зоне подсчета, при котором у программы начинаются такие сомнения.
Чтобы наши мишени не спотыкались на каждой пробоине, нужно в файле br.txt ( расположен в C:\TrueScore\config\EST_25_300\Brother\) изменить параметр в строке
$multiholesize,8 Увеличить цифру. У меня вместо 8 стоит 11. Эмпирически подбирал. Можно поставить даже 13 или 14. Тогда вообще ни разу не спросит. Кстати, этот метод помогает и в случае, если программа начинает уточнять и про пробоины от 5.5 - там тоже черного больше и ее это смущает.
Использование этой настройки таким образом рекомендовано Алексею автором программы подсчета.
Вот тут об этом.
Ну и все, собственно. Дальше используем программу как обычно.
Я выбираю класс HV, затем в окне со списком сканов выбираю все мишени, начинающиеся с HV… (тут, на всякий случай, напомню стандартные команды Windows: удерживая клавишу Shift кликаем мышкой на первый в окне файл HV.., затем, все также удерживая клавишу Shift, кликаем мышкой на последний в окне файл HV.. - все файлы HV окажутся выделенными).
Запускаем обсчет.
Aналогично поступаем с мишенями класса Open.