Проект со всеми исходниками переехал на GITHUB:
CardArrange.zipНовые фичи:
- Исправлено смещение при работе с большими градусами
- Разделение большой картинки(игрового поля) для печати с вылетами под обрезку
- Разворот загруженной картинки на 90 градусов
- Якорь для ручного вращения: TopLeft/Center
- На предпросмотре показаны контуры карты и рамки
Старые версии:
CardArrange.zipCardArrange2021.zip - на тестирование
FREE SOFTWARE, поставляется как есть, написано на Delphi7 для себя и не оптимизировалось.
Программа позволяет выделить на картинке несколько прямоугольных областей, расположенных под разными углами и сохранить в отдельные файлы или более аккуратно расположить на одном листе.
Требования к картинке для авто-распознавания:
1. Автоматическое распознавание работает для угла не более 30 градусов (по умолчанию - 20)
2. Карты на листе должны быть с явными интервалами.
3. Должны быть хорошо заметные границы самой карты или рисунок рамки на карте.
4. Карты не должны быть вплотную к краю картинки.
Порядок работы:1. Загрузите изображение (
Load).
2. Задайте размеры карт (
Size), число карт на листе (
Count)и примерный отступ слева/сверху (
Delta)
3. Двойным кликом по верхнему левому углу карты на картинке можно установить рамку и проверить правильность размеров.
4. Кнопка
?{: заполняет таблицу примерными координатами карт по их размерам и числу.
5. Когда картинка загружена - доступно авто-распознавание. Если центр распознанной области находится в области “примерной” карты - то для нее устанавливаются новые координаты и угол, иначе в таблицу добавляется строка. Регулятор шага перемещения также управляет контрастностью распознавания. В новой версии это отдельный ползунок сверху. Для очень контрастных (черная рамка) сдвиньте вправо до упора.
Если на всех картах рамка одного цвета, можно использовать новый режим автопоиска
Frame.
Для этого выберите цвет рамки:
- кнопка Frame color и кликнуть на картинке в области с нужным цветом
- переключите режим Ground / Frame
- и пробуйте с разной контрастностью.
6. При выборе карты в таблице она показывается на экране с мерцающей рамкой. Координаты и угол можно исправить, используя кнопки со стрелками и поворотом карт, двойным кликом по верхнему левому углу или ввести координаты вручную.
7. Эта таблица записывается в INI-файл с именем файла-картинки и автоматически загружается при повторной загрузке картинки.
8. Экспортируются карты тем же блоком, как на исходном изображении (например 3х3), опцией
Split можно поменять блок экспорта или сохранять карты по одной в отдельный файл.
9.
Frame - применяется, если все карты на листе имеют рамку одинакового цвета. Рисует одноцветную рамку поверх карты,
Round rect - скругляет углы рамки,
Frame color позволяет выбрать цвет на исходном изображении. Если видимые элементы карты отстоят от ее края, временно можно назначить рамку для ручного позиционирования и обнулить перед экспортом.
10.
Cutting line добавляет при экспорте метки реза
11. Параметры
Border,
Interval уточняют размещение карт при экспорте,
Mirror заполняет интервал между картами.
12. Закладка
Selected позволяет посмотреть уже повернутую карту и ориентируясь на какой-то вертикальный элемент уточнить градус поворота, совместив при нажатой кнопке мыши картинку в увеличенном блоке.
13. Если авто-распознание с ошибками или невозможно - карты можно выделять вручную.
- Выбираете строку с картой в таблице,
- совмещаете рамку в с верхним левым углом соотв.карты двойным кликом или клавишами-стрелками при зажатом Ctrl, шаг смещения задаётся ползунком.
- поворачиваете рамку относительно верхнего левого угла, используя клавиши Ctrl-PgUp / Ctrl-PgDn или щелкая мышью по кнопкам. Шаг поворота задаётся ползунком.
Дмитрий Яценко
yatcenko@gmail.com
Post Merge: 16 Август 2019, 13:52:51
По просьбе общественности:
Видео полностью ручного выравнивания карт
видео-пример Пример автораспозавания очень неудобного не контрастного скана, на четких рамках и большего размера картинках положение и угол наклона карт определяется намного точнее.
видео-пример (ну не силён я в видео...)