Существует ли ограничение на максимальное количество пикселей, которое может быть создано в pk по умолчанию
Обновлено: 21.11.2024
API Mapbox Styles позволяет читать и изменять стили карт, шрифты и изображения. Этот API является основой для Mapbox Studio.
Если вы используете Studio, Mapbox GL JS или Mapbox Mobile SDK, вы уже используете API стилей. Эта документация полезна для разработчиков программного обеспечения, которые хотят программно читать и записывать эти ресурсы. Вам не обязательно читать или понимать этот справочник для разработки или использования карт Mapbox.
Чтобы использовать API стилей, вам необходимо ознакомиться со спецификацией стилей Mapbox. Спецификация стилей Mapbox определяет структуру стилей карт и является открытым стандартом, который помогает Studio взаимодействовать с API и создавать карты, совместимые с библиотеками Mapbox.
Стили Mapbox
Следующие стили, принадлежащие Mapbox, доступны для всех учетных записей, использующих действительный токен доступа. Щелкните имя стиля ниже, чтобы узнать о нем больше, или скопируйте URL-адрес стиля, чтобы использовать его в проекте:
Объект стиля
Объект стиля — это объект, соответствующий спецификации стиля Mapbox, с некоторыми дополнительными свойствами, связанными с учетной записью:
Свойство | Тип | Описание |
---|---|---|
версия td> | number | Номер версии спецификации стиля. |
name | string | A удобочитаемое имя стиля. |
метаданные | object | Информация о стиле, используемом в Mapbox Studio.< /td> |
источники | object | Источники предоставляют данные, которые будут показаны на карте. | слои | массив | Слои будут отображаться в порядке этого массива. |
создано | string | Дата и время создания стиля. |
id | string | Идентификатор стиля. |
modified | string | Дата и время последнего изменения стиля. |
owner | string | Имя пользователя владельца стиля. |
visibility< /td> | string | Управление доступом к стилю, общедоступному или частному. Частные стили требуют токена доступа, принадлежащего владельцу. Публичные стили могут быть запрошены с токеном доступа, принадлежащим любому пользователю. |
protected | boolean | Указывает, защищен ли стиль (правда) или нет (ложь). Защищенные стили нельзя редактировать и удалять. |
draft | boolean | Указывает, является ли стиль черновиком ( true ) или он был опубликован ( false ). |
Объект стиля должен соответствовать следующим правилам:
- Должен быть действительный JSON
- Должен соответствовать самой последней версии спецификации стиля Mapbox
- Может состоять не более чем из 15 источников.
- Не может содержать никаких ключей в теле стиля, кроме перечисленных в спецификации стиля.
- Свойство url в исходном объекте должно быть допустимым идентификатором набора фрагментов Mapbox.
- Поддерживаются только растровые и векторные источники
Вы можете использовать инструмент командной строки gl-style-validate с флагом --mapbox-api-supported для проверки объекта стиля. Недопустимые стили приведут к описательной ошибке проверки.
Пример объекта стиля
Черновики
API стилей поддерживает черновики, поэтому у каждого стиля могут быть как опубликованные, так и черновые версии. Это означает, что вы можете вносить изменения в стиль, не публикуя их и не развертывая в своем приложении. Для каждой конечной точки, связанной со стилем, вы можете взаимодействовать с черновой версией стиля, помещая draft/ после идентификатора стиля, например /styles/ v1 / < username >/ < style_id >/draft/sprite .
Получить стиль
Получить стиль в виде документа JSON.
Обязательные параметры | Тип | Описание |
---|---|---|
имя пользователя< /td> | string | Имя пользователя учетной записи, которой принадлежит стиль. |
style_id | string td> | Идентификатор извлекаемого стиля. |
Пример запроса: получение стиля
Ответ: Получить стиль
Возвращенный объект стиля будет в формате стиля Mapbox.
Пример ответа: Получить стиль
Поддерживаемые библиотеки: получение стиля
Библиотеки-оболочки Mapbox помогают интегрировать API-интерфейсы Mapbox в существующее приложение. Следующий SDK поддерживает эту конечную точку:
Дополнительные сведения и примеры использования соответствующих методов для запроса этой конечной точки см. в документации SDK.
Стили списка
Получить список стилей для определенной учетной записи. Эта конечная точка поддерживает разбиение на страницы. Поскольку стили, как правило, довольно велики, вполне вероятно, что ответ на эту конечную точку начнет разбиение на страницы раньше, чем на другие конечные точки списка.Если в вашей учетной записи есть много стилей, вам может потребоваться повторно использовать следующее отношение ссылки в заголовке Link ответа, чтобы получить их все.
Обязательный параметр | Тип | Описание |
---|---|---|
username< /td> | string | Имя пользователя учетной записи, которой принадлежат стили. |
Вы можете уточнить результаты этой конечной точки с помощью следующих необязательных параметров:
Необязательные параметры | Тип | Описание |
---|---|---|
draft< /td> | boolean | Показать только черновые стили ( true ) или вернуть все стили ( false , по умолчанию). |
limit | integer | Максимальное количество возвращаемых стилей. |
sortby | string | Сортировка списков по временным меткам их создания или изменения. |
start | string | ID стиля, после которого следует запустить листинг. Идентификатор стиля находится в заголовке Link ответа. Подробнее см. в разделе разбивки на страницы. |
Пример запроса: стили списка
Ответ: список стилей
Эта конечная точка возвращает метаданные стиля, а не полные стили.
Пример ответа: список стилей
Поддерживаемые библиотеки: стили списка
Библиотеки-оболочки Mapbox помогают интегрировать API-интерфейсы Mapbox в существующее приложение. Следующий SDK поддерживает эту конечную точку:
Дополнительные сведения и примеры использования соответствующих методов для запроса этой конечной точки см. в документации SDK.
Получить ZIP-пакет стилей
Доступ к этой конечной точке предоставляется по запросу. Чтобы запросить доступ для вашей учетной записи, обратитесь в службу поддержки Mapbox.
Извлекает ZIP-файл, содержащий стиль JSON, изображения спрайтов, указанные пользовательские шрифты и файл лицензии. После извлечения ответ пакета ZIP со стилем кэшируется на несколько минут, поэтому последующие запросы могут возвращать тот же контент, даже если стиль был изменен за это время.
Обязательные параметры | Тип | Описание |
---|---|---|
имя пользователя< /td> | string | Имя пользователя учетной записи, которой принадлежит стиль. |
style_id | string td> | Идентификатор извлекаемого стиля. |
Необязательные параметры пути | Тип | Описание |
---|---|---|
draft | string | Если используется, указывает, что стиль является черновиком и не был опубликован. Дополнительную информацию см. в разделе "Черновики". |
Пример запроса: получение ZIP-пакета стилей
Ответ: Получить ZIP-пакет стилей
Ответом будет ZIP-файл с названием загруженного стиля. Он будет содержать соответствующий файл style.json, изображения спрайтов, указанные пользовательские шрифты и файл license.txt. Иерархия показана ниже.
Создать стиль
Создает стиль в вашем аккаунте. Размещенный объект стиля должен соответствовать правилам, изложенным в разделе об объекте стиля этой документации. Недопустимые стили приведут к описательной ошибке проверки.
Кроме того, при создании стиля с помощью Styles API:
- Поле глифов будет перезаписано так, чтобы оно указывало на конечную точку пользовательского глифа, если только оно не ссылается на конечную точку глифа Mapbox, mapbox://fonts/mapbox/ < fontstack >/ < range >.pbf .
- Если поле спрайта не содержит вашего имени пользователя, а поле спрайта указывает на спрайт стиля, который либо принадлежит mapbox, либо является общедоступным, API стилей скопирует все изображения в таблицу спрайтов нового стиля и перезапишет значение спрайта. чтобы указать на спрайт нового стиля.
- Если необязательное свойство name не используется в тексте запроса, имя нового стиля будет автоматически установлено в соответствии с идентификатором стиля.
Обязательный параметр | Тип | Описание |
---|---|---|
username< /td> | string | Имя пользователя учетной записи, которой будет принадлежать новый стиль. |
Пример запроса: создать стиль
Пример тела запроса: создание стиля
Ответ: Создайте стиль
Стиль, который вы получите от API, будет содержать новые свойства, добавленные сервером: created , id , Modified , owner и draft .
Пример ответа: Создать стиль
Поддерживаемые библиотеки: создание стиля
Библиотеки-оболочки Mapbox помогают интегрировать API-интерфейсы Mapbox в существующее приложение. Следующий SDK поддерживает эту конечную точку:
Дополнительные сведения и примеры использования соответствующих методов для запроса этой конечной точки см. в документации SDK.
Обновить стиль
Обновляет существующий стиль в вашем аккаунте новым содержанием. Тело запроса должно быть объектом стиля, который соответствует правилам, изложенным в разделе об объектах стиля этой документации.Недопустимые стили приведут к описательной ошибке проверки.
Кроме того, при обновлении стиля с помощью Styles API:
- Свойство name, которое является необязательным для создания стиля, требуется в тексте запроса для обновления стиля.
- Если вы запросите стиль, а затем используете неизмененный ответ для обновления стиля, это действие завершится ошибкой. Перед обновлением стиля необходимо удалить созданные и измененные свойства.
- Поле глифов будет перезаписано так, чтобы оно указывало на конечную точку пользовательского глифа, если только оно не ссылается на конечную точку глифа Mapbox, mapbox://fonts/mapbox/ < fontstack >/ < range >.pbf .
- Если поле спрайта не содержит вашего имени пользователя, а поле спрайта указывает на спрайт стиля, который либо принадлежит mapbox, либо является общедоступным, API стилей скопирует все изображения в таблицу спрайтов обновленного стиля и перезапишет значение спрайта. чтобы указать на спрайт обновленного стиля.
Запросы PATCH между версиями отклоняются.
Обязательные параметры | Тип | Описание |
---|---|---|
имя пользователя< /td> | string | Имя пользователя учетной записи, которой принадлежит стиль. |
style_id | string td> | Идентификатор стиля, который необходимо обновить. |
Пример запроса: обновить стиль
Пример тела запроса: обновление стиля
Ответ: обновить стиль
Успешный запрос к этой конечной точке вернет обновленный объект стиля.
Пример ответа: обновить стиль
Поддерживаемые библиотеки: обновление стиля
Библиотеки-оболочки Mapbox помогают интегрировать API-интерфейсы Mapbox в существующее приложение. Следующий SDK поддерживает эту конечную точку:
Дополнительные сведения и примеры использования соответствующих методов для запроса этой конечной точки см. в документации SDK.
Удалить стиль
Удалить стиль. Все спрайты, принадлежащие этому стилю, также будут удалены, и стиль больше не будет доступен.
Обязательные параметры | Тип | Описание |
---|---|---|
имя пользователя< /td> | string | Имя пользователя учетной записи, которой принадлежит стиль. |
style_id | string td> | Идентификатор удаляемого стиля. |
Пример запроса: удалить стиль
Ответ: удалить стиль
Поддерживаемые библиотеки: удаление стиля
Библиотеки-оболочки Mapbox помогают интегрировать API-интерфейсы Mapbox в существующее приложение. Следующий SDK поддерживает эту конечную точку:
Дополнительные сведения и примеры использования соответствующих методов для запроса этой конечной точки см. в документации SDK.
Защитить стиль
Доступ к этой конечной точке предоставляется по запросу. Чтобы запросить доступ для вашей учетной записи, обратитесь в службу поддержки Mapbox.
Обновляет защищенный статус стиля. Тело запроса должно быть простой текстовой строкой, либо true, либо false .
Изменение статуса допустимо только для стилей без активного черновика (который имеет измененное поле перед опубликованной версией). Это обновление не изменит измененное поле стиля или хэши спрайтов. Защищенные стили нельзя редактировать и удалять с помощью Styles API или Mapbox Studio.
Обязательные параметры | Тип | Описание |
---|---|---|
имя пользователя< /td> | string | Имя пользователя учетной записи, которой принадлежит стиль. |
style_id | string td> | Идентификатор защищаемого стиля. |
Пример запроса: защита стиля
Ответ: защитить стиль
Ответ на недопустимый запрос: защитить черновой стиль
Вы не можете защитить стиль с активным черновиком. Эта конечная точка вернет ошибку 400 Bad Request.
Опубликуйте черновик стиля или вернитесь к его последней опубликованной версии перед защитой.
Запрос встраиваемого HTML
Запросить встраиваемый или общий HTML-код.
Обязательные параметры | Тип | Описание |
---|---|---|
имя пользователя< /td> | string | Имя пользователя учетной записи, которой принадлежит стиль. |
style_id | string td> | Идентификатор встраиваемого стиля. |
Возвращенный встраиваемый HTML-код можно дополнительно изменить с помощью следующих необязательных параметров запроса:
Необязательные параметры пути | Тип | Описание |
---|---|---|
draft | string | Получить черновую версию стиля. Дополнительную информацию см. в разделе "Черновики". |
Пример: запрос встраиваемого HTML
Поддерживаемые библиотеки: запросить встраиваемый HTML
Библиотеки-оболочки Mapbox помогают интегрировать API-интерфейсы Mapbox в существующее приложение. Следующий SDK поддерживает эту конечную точку:
Дополнительные сведения и примеры использования соответствующих методов для запроса этой конечной точки см. в документации SDK.
Получить документ WMTS карты
Mapbox поддерживает доступ через стандарт WMTS, что позволяет использовать карты с настольными и онлайн-программами ГИС, такими как ArcMap и QGIS.
Обязательные параметры | Тип | Описание |
---|---|---|
имя пользователя< /td> | string | Имя пользователя учетной записи, которой принадлежит стиль. |
style_id | string td> | Идентификатор стиля, для которого нужно вернуть документ WMTS. |
Пример запроса: получение WMTS-документа карты
Ответ: Получить WMTS-документ карты
Ответом на запрос к этой конечной точке будет WMTS-документ карты.
Спрайты
Спрайты — это способ, с помощью которого Mapbox GL JS и мобильный SDK Mapbox эффективно запрашивают и отображают изображения. Спрайты — это наборы изображений, которые можно использовать в стилях в качестве значков или узоров в слоях символов. Изображение в спрайте может быть значком, узором или иллюстрацией. Эти изображения SVG можно добавлять и удалять из спрайта по желанию. API стилей автоматически собирает эти изображения SVG и преобразует их в одно изображение PNG и документ JSON, описывающий расположение каждого изображения.
Документ JSON спрайта указан как часть спецификации стиля Mapbox.
Спрайты управляются отдельно для каждого стиля. Каждый спрайт принадлежит стилю, поэтому ограничение в 1000 изображений также является ограничением для каждого стиля.
Изображения-спрайты представляют собой файлы PNG-8, оптимизированные для использования с ограниченной цветовой палитрой. Обычно визуальные отличия от исходных файлов SVG незаметны, но в некоторых случаях вы можете заметить небольшие изменения в цветах или сглаживание при внимательном рассмотрении изображений спрайтов.
Всем API-методам, связанным со спрайтами, требуется параметр
Получить изображение спрайта или JSON
Получить изображение спрайта или его документ JSON из стиля Mapbox.
Обязательные параметры | Тип | Описание |
---|---|---|
имя пользователя< /td> | string | Имя пользователя учетной записи, которой принадлежит стиль. |
style_id | string td> | Идентификатор стиля, которому принадлежит спрайт. |
Вы можете уточнить результаты этой конечной точки с помощью следующих необязательных параметров:
Необязательные параметры | Тип | Описание |
---|---|---|
sprite_id< /td> | string | Идентификатор неизменяемого спрайта. Чтобы узнать, как найти уникальный идентификатор спрайта, см. раздел Как получить идентификатор спрайта. |
@2x | string | Визуализируйте спрайт с коэффициентом масштабирования @2x, @3x или @4x для дисплеев с высокой плотностью. Также поддерживаются десятичные значения, такие как @2.5x. |
format | string | По умолчанию эта конечная точка возвращает JSON спрайта. документ. Укажите .jpg, чтобы вернуть изображение спрайта. |
Пример запроса: получить изображение спрайта или JSON
Ответ: Получить изображение спрайта или JSON
Ответом на успешный запрос к этой конечной точке является либо изображение спрайта, либо его ответ JSON, в зависимости от того, что было запрошено.
Пример ответа: Получить изображение спрайта или JSON
Как получить идентификатор спрайта
Поскольку спрайты обычно остаются статичными в течение длительного времени, мы предлагаем неизменяемые спрайты с уникальными URL-адресами. Это позволяет нам иметь большую продолжительность кеша, что приводит к более быстрому времени загрузки. Это также предотвращает нарушение стилей, если спрайты обновляются «под» ними. Эти уникальные URL-адреса возможны благодаря sprite_id, который можно поместить в URL-адрес.
После того как вы загрузили изображения спрайтов с помощью конечной точки Добавить новое изображение в спрайт или Добавить несколько новых изображений в конечную точку спрайта, отправьте запрос на обновление своего стиля. Полезные данные ответа для обновления стиля будут содержать уникальный URL-адрес спрайта в полезной нагрузке спрайта.
Примечание: Mapbox Studio делает всю эту работу за вас автоматически.
Поддерживаемые библиотеки: получение изображения спрайта или JSON
Библиотеки-оболочки Mapbox помогают интегрировать API-интерфейсы Mapbox в существующее приложение. Следующий SDK поддерживает эту конечную точку:
Дополнительные сведения и примеры использования соответствующих методов для запроса этой конечной точки см. в документации SDK.
Последняя версия
Auto_Threshold v1.17, дата: 22 мая 2017 г.
Auto_Local_Threshold v1.11, дата: 8 марта 2021 г.
Установка
ImageJ: скопируйте (файл Auto_Threshold.jar) в папку ImageJ/Plugins и либо перезапустите ImageJ, либо выполните команду Help>Update Menus. После этого должны появиться две новые команды в Image>Adjust>Auto
Threshold и Image>Adjust>Auto Local Threshold.
Fiji: этот подключаемый модуль является частью дистрибутива Fiji, его не нужно загружать (может отображаться другой номер версии).
Метод выбирает применяемый алгоритм (подробнее см. ниже).
Параметры «Игнорировать черный» и «Игнорировать белый» устанавливают интервалы гистограммы изображения для уровней серого [0] и [255] на 0
соответственно. Это может быть полезно, если оцифрованное изображение имеет недо- или переэкспонированные пиксели.
Белый объект на черном фоне делает белыми пиксели со значениями выше порогового значения (в противном случае он делает белыми значения, меньшие или равные пороговому значению).
Установить пороговое значение вместо порогового значения (одиночные изображения) задает LUT с пороговым значением без изменения данных пикселей. Это работает только для одиночных изображений. При обработке стека доступны две дополнительные опции: Стек может использоваться для обработки всех слайсов (порог каждого слайса будет вычисляться отдельно). Если этот параметр не отмечен, будет обрабатываться только текущий срез.
Использовать гистограмму стека сначала вычисляет гистограмму всего стека, затем вычисляет пороговое значение на основе этой гистограммы и, наконец, объединяет все срезы с этим единственным значением. При выборе этого параметра также автоматически выбирается указанный выше параметр "Стопка".
Обратите внимание, что фаза с пороговым значением всегда отображается белым цветом [255].
Начиная с версий 1.8 и 1.1 двух плагинов соответственно, пороговое значение бинарного изображения также автоматически устанавливается на 255 (т. е. не отображается красным цветом), поэтому анализатор частиц должен иметь возможность выбирать белые пиксели для анализа. .
Важные примечания:
1. Доступ к этому плагину осуществляется через пункт меню Image>Auto Threshold, однако методы порогового значения также были частично реализованы в апплете порогового значения ImageJ, доступном через пункт меню Image>Adjust>Threshold…. В то время как плагин Auto Threshold может использовать или игнорировать крайние значения гистограммы изображения (игнорировать черный цвет, игнорировать белый цвет), апплет не может: метод «по умолчанию» игнорирует крайние значения гистограммы, а другие методы — нет. Это означает, что применение двух команд к одному и тому же изображению может привести к совершенно разным результатам. По сути, плагин Auto Threshold при правильных настройках может воспроизводить результаты работы апплета, но не наоборот.
изображению, преобразованному в 16-битное с масштабированием, может привести к разным пороговым значениям. Это связано с тем, что масштабирование от 8 до 16 бит создает пустые интервалы между масштабированными значениями серого. Метод треугольника (основанный на геометрическом подходе) находит в новой 16-битной гистограмме искусственные пропуски, которые удовлетворяют ограничениям метода, но которых не было бы в исходном 8-битном изображении. Этого нельзя избежать (например, путем обнаружения пустых столбцов гистограммы), так как это будет мешать анализу, когда на изображении существуют настоящие пустые столбцы (в отличие от искусственных).
Попробовать все
Какой метод лучше всего сегментирует ваши данные? Вы можете попытаться ответить на этот вопрос, используя опцию «Попробовать все». Это создает монтаж с результатами всех методов, поэтому можно исследовать, как различные алгоритмы работают с изображением или стеком. Если вы используете стеки, вы поймете, что иногда нецелесообразно сегментировать каждый срез отдельно, а не использовать единый порог для всех срезов (попробуйте mri-stack.tif из образцов изображений, чтобы понять эту проблему).
Исходное изображение
Попробуйте все методы.
При обработке стеков с большим количеством фрагментов монтажи могут стать очень большими (примерно в 13 раз больше исходного размера стека), и есть риск нехватки оперативной памяти. Появится всплывающее окно (если стек содержит более 25 фрагментов), чтобы подтвердить, должна ли процедура отображать монтаж стека. Выберите Нет, чтобы вычислить пороговые значения и отобразить их в окне журнала.
По умолчанию
Это оригинальный метод автоматического определения порога, доступный в ImageJ, который является разновидностью алгоритма IsoData (см. ниже). В этом подключаемом модуле параметр «По умолчанию» должен возвращать те же значения, что и «Изображение»> «Настройка»> «Порог»> «Авто»,
при выборе «Игнорировать черный» и «Игнорировать белый».
Пока ImageJ пытается угадать, какие пиксели принадлежат объекту, а какие фону, это можно переопределить и принудительно сегментировать желаемую фазу с помощью параметра Белые объекты на черном фоне. Код в ImageJ, реализующий эту функцию, представляет собой метод getAutoThreshold() в классе ImageProcessor. Метод IsoData также известен как итеративные промежуточные средства.
Хуан
Реализует нечеткий пороговый метод Хуанга. При этом используется энтропийная функция Шеннона (можно также использовать энтропийную функцию Ягера)
Хуан2
Это повторная реализация метода нечеткой пороговой обработки Хуанга Йоханнеса Шинделина для более эффективной обработки 16-битных изображений и значительного ускорения. Однако на некоторых изображениях он не возвращает тот же результат, что и исходный метод.
Интермоды
Это предполагает бимодальную гистограмму. Гистограмма итеративно сглаживается с использованием скользящего среднего размера 3, пока не останется только два локальных максимума: j и k. Затем пороговое значение t вычисляется как (j+k)/2. Изображения с гистограммами, имеющими крайне неравные пики или широкую и плоскую впадину, не подходят для этого метода.
- Prewitt JMS, Mendelsohn ML. (1966) Анализ изображений клеток, в Annals of the New York Academy of Sciences, vol. 128, стр. 1035–1053.
Изоданные
Итерационная процедура, основанная на алгоритме isodata:
- Ridler TW, Calvard S. (1978) Пороговое определение изображения с использованием метода итеративного выбора, IEEE Trans. Система, человек и кибернетика, SMC-8: 630–632.
Это должно возвращать те же значения, что и Image>Adjust>Threshold>Auto, но оно реализовано здесь, чтобы
позволить предварительно выбрать светлые или темные фазы в изображении. (ImageJ пытается угадать, что является объектом, а что фоном).
Процедура делит изображение на объекты и фон, принимая начальный порог, затем вычисляются средние значения пикселей на уровне или ниже порога и пикселей выше. Вычисляются средние значения этих двух значений, увеличивается пороговое значение, и процесс повторяется до тех пор, пока пороговое значение не станет больше составного среднего значения. То есть
порог = (средний фон + средние объекты)/2.
Описание метода, опубликованное Тимом Моррисом на странице sci.image.processing 24 июня 1996 г.:
Реализует метод порога минимальной перекрестной энтропии Ли на основе итеративной версии (ссылка 2) алгоритма.
Максэнтропия
Реализует метод порогового значения Капура-Саху-Вонга (максимальная энтропия):
- Капур Дж. Н., Саху П. К., Вонг АКС. (1985) Новый метод пороговой обработки изображения в градациях серого с использованием энтропии гистограммы, графических моделей и обработки изображений, 29(3): 273–285.
В качестве порогового значения используется среднее значение уровней серого. Он используется некоторыми другими методами в качестве порога первого предположения.
- Гласби, Калифорния (1993), «Анализ алгоритмов пороговой обработки на основе гистограмм», CVGIP: Графические модели и обработка изображений, 55: 532–537.
Мин.Ошибка(I)
Повторяющаяся реализация порогового значения минимальной ошибки Киттлера и Иллингворта. Эта версия, кажется, сходится чаще, чем исходная реализация. Тем не менее иногда алгоритм не сходится к решению. В этом случае в окно журнала выводится предупреждение, а результатом по умолчанию является начальная оценка порога, которая вычисляется с использованием метода среднего.
- Киттлер Дж. и Иллингворт Дж. (1986), "Минимальная пороговая величина ошибки", Pattern Recognition 19: 41–47
Минимум
Как и в методе Intermodes, здесь используется бимодальная гистограмма. Гистограмма итеративно сглаживается с использованием скользящего среднего размера 3, пока не останется только два локальных максимума. Порог t таков, что yt-1 > yt
Моменты
Метод Цая пытается сохранить моменты исходного изображения в результате с пороговым значением.
- Цай В. (1985) Пороговое значение с сохранением момента: новый подход, Компьютерное зрение, графика и обработка изображений, том. 29, стр. 377–393.
Алгоритм пороговой кластеризации Оцу. Он ищет пороговое значение, которое минимизирует внутриклассовую дисперсию, определяемую как взвешенная сумма дисперсий двух классов
- Оцу Н. (1979) Метод порогового выбора из гистограмм уровней серого, IEEE Trans. Сис., Ман., Кибер. 9: 62-66.
doi:10.1109/TSMC.1979.4310076.
Процентиль
Предполагается, что доля пикселей переднего плана равна 0,5.
- Doyle W. (1962) Операция, полезная для распознавания образов, инвариантных к сходству, Journal of the Association for Computing Machinery, vol. 9, стр. 259–267.
Энтропия Реньи
Аналогичен методу MaxEntropy, но вместо этого используется энтропия Реньи.
- Капур Дж. Н., Саху П. К., Вонг АКС. (1985) Новый метод пороговой обработки изображения в градациях серого с использованием энтропии гистограммы, графических моделей и обработки изображений, 29(3): 273–285.
Шанбхаг
- Шанхбаг А.Г. (1994) «Использование меры информации как средства пороговой обработки изображения» Графические модели и обработка изображений, 56 (5): 414–419.
Треугольник
Это реализация метода треугольника:
- Зак, Г.В., Роджерс, В.Е. и Латт, С.А., 1977, Автоматическое измерение частоты обмена сестринских хроматид, Журнал гистохимии и цитохимии 25 (7), стр. 741–753.
Алгоритм треугольника, являясь геометрическим методом, не может определить, перекошены ли данные в ту или иную сторону, но предполагает, что максимальный пик находится на одном конце гистограммы, а один конец - на другом. Это вызывает проблему при отсутствии информации о типе обрабатываемого изображения или когда максимум не совпадает с одним из экстремумов гистограммы (что приводит к двум возможным пороговым областям между этим максимумом и экстремумами). Здесь алгоритм был расширен, чтобы выяснить, в какую сторону от максимального пика данные идут дальше всего, и найти пороговое значение в самом большом диапазоне.
Реализует метод порогового значения Йена из:
Метод выбирает применяемый алгоритм (подробнее см. ниже).
Радиус задает радиус (в пикселях) локальной области, по которой будет вычисляться пороговое значение,
Белый объект на черном фоне делает белыми пиксели со значениями выше порогового значения (в противном случае он устанавливает белым цветом значения, меньшие или равные пороговому значению).
Специальные параметры 1 и 2 задают определенные значения для каждого метода. Они подробно описаны ниже для каждого метода. Если вы обрабатываете стек, доступна одна дополнительная опция: стек можно использовать для обработки всех слайсов.
Попробовать все
Какой метод лучше всего сегментирует ваши данные? Вы можете попытаться ответить на этот вопрос, выбрав вариант Попробовать все. Это создает монтаж с результатами всех методов, поэтому можно исследовать, как различные алгоритмы работают с изображением или стеком. Методы Bernsen, Contrast и Midgrey могут возвращать аналогичные результаты, поскольку они основаны на одной и той же базовой идее о том, как определить, является ли пиксель объектом. или фон.
Исходное изображение
Попробуйте все методы.
При обработке стеков с большим количеством фрагментов монтажи могут стать очень большими (в несколько раз больше исходного размера стека), и есть риск нехватки оперативной памяти. Появится всплывающее окно (если стек содержит более 25 фрагментов), чтобы подтвердить, должна ли процедура отображать монтаж стека.
Бернзен
Реализует пороговый метод Бернсена. Обратите внимание, что в этой реализации используются круглые окна вместо прямоугольных в оригинале.
Параметр 1: порог контрастности. Значение по умолчанию — 15. Любое число, отличное от 0, изменит значение.
Параметр 2: не используется, игнорируется. В методе используется заданный пользователем порог контрастности. Если локальный контраст (максимум-минимум в пределах радиуса пикселя) выше или равен порогу контрастности, порог устанавливается равным локальному значению среднего серого (среднее значение минимального и максимального значений серого в локальном окне).
Если локальная контрастность ниже порога контрастности, считается, что окрестность состоит только из одного класса, а пиксель устанавливается как объект или фон в зависимости от значения среднего серого.
- Бернсен, Дж. (1986), «Динамическое определение порога для изображений в оттенках серого», Proc. 8-го межд. конф. по распознаванию образов
- Сезгин М. и Санкур Б. (2004 г.), «Опрос по методам определения порога изображения и количественной оценке эффективности», Journal of Electronic Imaging 13(1): 146–165
Контраст
На основе простого переключателя контрастности. Устанавливает значение пикселя в белый (255) или черный (0) в зависимости от того, является ли его текущее значение ближайшим к локальному максимуму или < i>минимум соответственно.
Эта процедура является экстремальным случаем Toggle Contrast Enhancement, см., например:
- Сойл П., Морфологический анализ изображений: принципы и приложения. Спрингер, 2004, с. 259.
Эта процедура не имеет пользовательских параметров, кроме радиуса ядра.
Это выбирает порог как среднее значение локального распределения оттенков серого. Вариант этого метода использует среднее значение – C, где C – константа.
Медиана
Это выбирает порог как медиану локального распределения оттенков серого. Вариант этого метода использует медиану – C, где C – константа.
Параметр
1: значение C. Значение по умолчанию — 0. Любое другое число изменит свое значение.
Параметр 2: не используется, игнорируется.
Средне-серый
При этом в качестве порогового значения выбирается средний уровень серого в локальном распределении оттенков серого (т. е. (макс. + минимум)/2. В одном из вариантов этого метода используется средний уровень серого — C, где C — константа.
Параметр 1: значение C. Значение по умолчанию — 0. Любое другое число изменит свое значение.
Параметр 2: не используется, игнорируется.
Ниблэк
Реализует пороговый метод Ниблэка:
Параметр 1: значение k. Значение по умолчанию составляет 0,2 для ярких объектов и -0,2 для темных объектов. Любое число, отличное от 0, изменит свое значение.
Параметр 2: значение C. Это смещение со значением по умолчанию 0. Любое другое число, кроме 0, изменит его значение. Этот параметр был добавлен в версии 1.3 и не является частью оригинальной реализации алгоритма. Исходный
алгоритм применяется, когда c = 0.
- Ниблэк, В. (1986), Введение в цифровую обработку изображений, Прентис-Холл
Реализует локальную версию глобальной пороговой кластеризации Otsu. Алгоритм ищет порог, который минимизирует дисперсию внутри класса, определяемую как взвешенную сумму дисперсий двух классов.
Локальный набор представляет собой круговую область интереса, и центральный пиксель проверяется на соответствие порогу Оцу, найденному для этой области.
- Оцу Н. (1979) Метод порогового выбора из гистограмм уровней серого, IEEE Trans. Сис., Ман., Кибер. 9: 62-66.
doi:10.1109/TSMC.1979.4310076.
Фансалкар
Это модификация метода пороговой обработки Sauvola для работы с низкоконтрастными изображениями.
В этом методе пороговое значение t вычисляется как:
где mean и stdev — локальное среднее значение и стандартное отклонение соответственно.
Phansalkar рекомендует k = 0,25, r = 0,5, p = 2 и q = 10. В этом плагине k и r — это параметры 1 и 2 соответственно, но значения p и q фиксированы.
Параметр 1: значение k. Значение по умолчанию — 0,25. Любое число, отличное от 0, изменит свое значение.
Параметр 2: значение r. Значение по умолчанию — 0,5. Это значение отличается от значения Sauvola, поскольку оно использует нормализованную интенсивность изображения. Любое число, отличное от 0, изменит свое значение.
Реализовано на основе описания статьи Phansalkar, хотя в этой версии используется круглое, а не прямоугольное локальное окно.
Савола
Реализует пороговый метод Sauvla, который является разновидностью метода Niblack
Параметр 1: значение k. Значение по умолчанию — 0,5. Любое число, отличное от 0, изменит свое значение.
Параметр 2: значение r. Значение по умолчанию — 128. Любое число, отличное от 0, изменит его значение
Мониторы компьютеров и экраны ноутбуков имеют разные характеристики, которые определяют внешний вид ваших игр, фильмов и даже веб-браузеров. Но как именно разрешение экрана влияет на ваш опыт? Что вы можете сделать, чтобы изменить это? Как узнать, какое разрешение у вас сейчас? Мы ответим на эти вопросы в следующем руководстве.
Что такое разрешение экрана?
То, что вы видите на экране своего компьютера, состоит из миллионов крошечных кусочков, называемых пикселями. Эти пиксели формируют цвета, линии и видео, которые вы видите на своем мониторе. Разрешение — это измерение этих пикселей, в частности, их количество в сетке при измерении по горизонтали и вертикали. Чем больше количество пикселей в сетке, тем четче или лучше ваше разрешение.
Например, экран с разрешением 1024 x 768 будет иметь меньше пикселей в сетке, чем экран с разрешением 1920 x 1080. Какой из них выглядит лучше? Вы можете предположить, что разрешение 1920 x 1080 будет более четким, и это будет правдой при аналогичном размере экрана.Однако, если более низкое разрешение отображается на меньшем экране, они могут выглядеть очень похоже.
Учитывая это правило, легко понять, почему большие телевизоры и компьютерные экраны требуют более высокого разрешения, чтобы изображение выглядело четким. Если низкое разрешение проецируется на очень большой экран, оно будет выглядеть нечетким, мало чем отличаясь от того, как старые телешоу и фильмы выглядели бы на большом экране до того, как многие из них были преобразованы в высокое разрешение или даже 4K. Один из способов решить эти проблемы с низким разрешением — использовать меньший экран или монитор.
Когда разрешение экрана имеет наибольшее значение?
Разрешение экрана имеет жизненно важное значение для получения удовольствия от многих вещей, которые мы делаем на наших компьютерах, особенно от очень детализированных. Редактирование фотографий, например, требует крошечных изменений на самом детальном уровне. Настройка линии здесь или цвета там будет зависеть от экрана, чтобы правильно отображать тонкости, которые может обеспечить только самое сложное разрешение экрана. Некоторые инженерные и вычислительные области также зависят от высокого уровня детализации. Игры и просмотр фильмов в цифровом формате или 4K также выигрывают от более высокого разрешения экрана.
Как проверить разрешение экрана?
Даже если вы не инженер или фотограф, полезно знать разрешение экрана. Вы можете получать гораздо больше удовольствия от работы с мультимедиа, если будете знать, что у вас есть, а также то, что возможно. Чтобы проверить разрешение экрана, выполните следующие действия в Windows 10:
- Введите Настройки дисплея в строке поиска в меню "Пуск" в левом нижнем углу экрана.
- Нажмите, чтобы открыть
- Прокрутите вниз до раздела "Масштаб и макет" и найдите раскрывающийся список "Разрешение".
- Запишите указанное разрешение. В идеале это должны быть два числа с указанием (Рекомендуется) после него.
- Чтобы настроить разрешение, выберите другой вариант в раскрывающемся списке. Вы должны видеть только то, что подходит для вашего ПК. Если вы выберете другой вариант и недовольны тем, как он отображается, вы всегда можете изменить его обратно
Настройка разрешения может потребоваться при покупке нового монитора или обновлении видеокарты. Разрешение экрана также является первым, что вы должны проверить при возникновении каких-либо проблем с отображением. Это простое решение ряда распространенных проблем со зрением.
Какое разрешение экрана самое популярное?
Ответ на этот вопрос зависит от размера вашего экрана и того, как вы его используете. Для ноутбука вы часто увидите разрешение, отличное от того, которое вам нужно для фильма на большом экране 4K-телевизора. Разрешение для мобильного устройства также будет сильно отличаться. Для правильной работы экранов разного размера и формы требуется разное разрешение.
То, что популярно, не всегда является лучшим. По мере того, как мы получаем больше пикселей на дюйм на наших новых телевизорах, потребуется время, чтобы население наверстало упущенное. По мере появления на рынке новых ноутбуков и мониторов мы увидим рост общего разрешения потребительского рынка. Рынок часто меняет разрешение, особенно когда старые технологии устаревают.
Разрешение и частота обновления
Вы можете себе представить, что если бы у вас был выбор, вы всегда должны выбирать более высокое разрешение. Но лучшее разрешение экрана не всегда является правильным выбором. Для компьютеров более высокое разрешение экрана требует больше ресурсов вашего компьютера, особенно видеокарты. Здесь важна частота обновления, или количество раз, когда ваша видеокарта обновляет кадр.
Если для вашей игры требуется, например, частота обновления 120 Гц, вашей видеокарте потребуется обновлять экран 120 раз в секунду. 120-кратное обновление для более высокого разрешения намного больше нагружает вашу графическую карту. Если вы не готовы платить больше за лучшую графику, лучшее общее разрешение может оказаться пустой тратой денег. При выборе лучшего дисплея взвешивайте размер, качество и ресурсы. Ваш лучший выбор может зависеть от того, что вы можете себе позволить.
Какое максимальное разрешение экрана?
Самым высоким из когда-либо созданных разрешений может быть еще не выпущенное 8K, которое появится в телевизорах и домашних кинотеатрах в ближайшие годы. В настоящее время большинство людей считают 4K вершиной разрешения. Для ноутбуков и компьютерных мониторов самым надежным порогом является разрешение 3840 x 2160. HP EliteBook и HP ZBooks обеспечивают это разрешение специально для инженеров, художников и других специалистов. На самом деле, эти новые характеристики понравятся всем, кто ценит хороший дисплей.
Почему разрешение экрана имеет значение
Отвечая на вопрос "какое у меня разрешение экрана?" важно, потому что это дает вам отправную точку для решения некоторых из наиболее распространенных проблем с отображением. Узнав, где вы находитесь, вы сможете внести улучшения. Это может произойти путем настройки вашего монитора или компьютера или путем обновления вашего дисплея до чего-то, что дает вам нужные эффекты.
Об авторе
Линси Кнерл (Linsey Knerl) является автором статей для HP® Tech Takes. Линси — писатель со Среднего Запада, оратор и член ASJA. Она стремится помогать потребителям и владельцам малого бизнеса использовать свои ресурсы с помощью новейших технических решений.
Связанные теги
Популярные статьи
Также посетите
Архивы статей
Нужна помощь?
Рекомендованная производителем розничная цена HP может быть снижена. Рекомендованная производителем розничная цена HP указана либо как отдельная цена, либо как зачеркнутая цена, а также указана цена со скидкой или рекламная цена. На скидки или рекламные цены указывает наличие дополнительной более высокой рекомендованной розничной цены зачеркнутой цены.
Ultrabook, Celeron, Celeron Inside, Core Inside, Intel, логотип Intel, Intel Atom, Intel Atom Inside, Intel Core, Intel Inside, логотип Intel Inside, Intel vPro, Itanium, Itanium Inside, Pentium, Pentium Inside, vPro Inside , Xeon, Xeon Phi, Xeon Inside и Intel Optane являются товарными знаками корпорации Intel или ее дочерних компаний в США и/или других странах.
Домашняя гарантия доступна только для некоторых настраиваемых настольных ПК HP. Необходимость обслуживания на дому определяется представителем службы поддержки HP. Заказчику может потребоваться запустить программы самопроверки системы или исправить выявленные неисправности, следуя советам, полученным по телефону. Услуги на месте предоставляются только в том случае, если проблема не может быть устранена удаленно. Услуга недоступна в праздничные и выходные дни.
HP передаст ваше имя и адрес, IP-адрес, заказанные продукты и связанные с ними расходы, а также другую личную информацию, связанную с обработкой вашего заявления, в Bill Me Later®. Bill Me Later будет использовать эти данные в соответствии со своей политикой конфиденциальности.
Подходящие продукты/покупки HP Rewards определяются как продукты из следующих категорий: принтеры, ПК для бизнеса (марки Elite, Pro и Workstation), выберите аксессуары для бизнеса и выберите чернила, тонер и бумага.
Разработчик
Руководство для разработчиков кошельков
- Пропуска идентифицируются по идентификатору типа пропуска и серийному номеру
- Необходимая информация предоставляется ключами верхнего уровня
- Стиль прохода определяет общий внешний вид.
- Поля содержат текст, отображаемый на пропуске
- Поля поддерживают форматирование
- На обратной стороне пропуска есть дополнительное место для текста.
- Штрих-коды ссылаются на ваши записи
- Цвета пропуска можно настроить
- Изображения заполняют отведенное им место.
- Информация о релевантных пропусках отображается на экране блокировки.
- Пакеты поддерживают локализацию
- Проходы криптографически подписаны и сжаты
- Отладка проходов
Пройти дизайн и создание
Файлы, из которых состоит пропуск, объединены в пакет (также называемый пакетом ), который называется пакет пропуска. В центре прохода находится файл JSON с именем pass.json , который определяет проход. Файл JSON содержит информацию, идентифицирующую пропуск, текст, отображаемый на пропуске, и другую информацию о пропуске. Кроме того, пакет содержит изображения и данные локализации. На рис. 4-1 показана структура каталогов для примера прохода, который предоставляет значок, логотип и миниатюру. Пропуск локализован на английский и китайский языки, в нем есть размеры изображений Retina и не Retina, а также локализован логотип.
Рисунок 4-1. Структура каталога примера прохода
Создание пропуска в основном состоит из написания файла pass.json и разработки необходимых изображений. Как разработчик, вы потратите большую часть времени на редактирование файла pass.json. Дополнительную информацию см. в Справочнике по формату пакета PassKit.
Пропуска идентифицируются по идентификатору типа пропуска и серийному номеру
Вы сами определяете точное значение каждого идентификатора типа прохода. А поскольку права каждого приложения определяют типы проходов, с которыми может взаимодействовать приложение, вы можете контролировать, какие из ваших приложений взаимодействуют с какими вашими проходами. Вы также используете другой сертификат для подписания проходов с разными идентификаторами типа прохода. Это означает, что разные группы внутри вашей компании могут работать над своими собственными проходами без необходимости совместно использовать инфраструктуру, сертификаты или закрытые ключи.
серийный номер – это строка, которая однозначно идентифицирует пропуск в рамках его типа. Значение ключа serialNumber в проходе указывает серийный номер. Серийный номер непрозрачен для PassKit — вы можете присвоить его любым удобным для вас способом. Монотонно возрастающее целое число или UUID — удобные способы присвоения серийного номера.
Комбинация идентификатора типа пропуска и серийного номера используется в PassKit для уникальной идентификации пропуска.Два пропуска одного типа с одинаковым порядковым номером считаются одним и тем же пропуском, даже если другая информация о них различается. Например, при обновлении пропуска новая версия имеет тот же идентификатор типа пропуска и серийный номер, что и старая версия, поэтому новая версия заменяет старую версию.
Разница между идентификаторами типа пропуска и серийным номером аналогична разнице между классами и экземплярами класса. Идентификаторы типа прохода обозначают абстрактный вид вещи, а серийные номера идентифицируют конкретную вещь. Например, предположим, что авиакомпания создает билеты для посадочных талонов и для своей программы карт лояльности. Все посадочные талоны, которые вы создаете, имеют одинаковый идентификатор типа абонемента, потому что все они относятся к одному и тому же типу талонов, но каждый из них имеет свой собственный серийный номер. Карты постоянного клиента имеют другой идентификатор типа пропуска, чем посадочные талоны, потому что это другой тип пропуска.
Необходимая информация предоставляется ключами верхнего уровня
В дополнение к идентификатору типа пропуска и серийному номеру есть несколько других ключей, которые содержит каждый пропуск.
Версия формата файла определяется ключом formatVersion; его значение равно 1.
Идентификатор команды – это набор букв и цифр, выданный вам Apple. Значение ключа teamIdentifier в передаче определяет идентификатор команды. Он должен совпадать с Team ID сертификата, используемого для подписи пропуска. Вы можете найти свой идентификатор команды в Центре участников или найти его в Keychain Access, просмотрев поле «Организационная единица» вашего сертификата.
Название организации отображается на экране блокировки, когда ваш пропуск актуален, а также в таких приложениях, как Почта, которые действуют как канал для пропусков. Значение ключаorganizationName в проходе указывает название организации. Выберите имя, которое пользователи узнают и свяжут с вашей организацией или компанией.
Описание позволяет VoiceOver сделать ваш пропуск доступным для слепых и слабовидящих пользователей. Значение ключа описания в проходе задает описание. Описание должно начинаться с термина высокого уровня, такого как «Членская карта», «Еженедельный купон» или «Автобусный билет», за которым следует одна или две небольшие части информации, такие как предложение купона и магазин, в котором он действителен. Не пытайтесь суммировать все содержимое передачи, но включите достаточно подробностей, чтобы пользователи могли различать передачи одного и того же типа.
Стиль прохода определяет общий внешний вид
Стиль пропуска определяет общий внешний вид пропуска и шаблон размещения информации на пропуске. Наиболее характерный визуальный признак стиля находится на верхнем краю прохода. Билеты на мероприятия имеют небольшой вырез, купоны имеют перфорированный край и т. д.
В отличие от определяемых вами идентификаторов типов проходов, стили проходов являются частью API, как и их значение. Вы не можете изменить их или добавить новые. Идентификаторы типа пропуска классифицируют проходы очень специфическим образом; стили проходов классифицируют проходы гораздо более общим и высокоуровневым способом.
Вы указываете стиль передачи, предоставляя соответствующий ключ на верхнем уровне файла pass.json:
В посадочных талонах используется ключ boardingPass . Этот стиль пропуска подходит для проездных, используемых с системами общественного транспорта, такими как билеты на поезд, посадочные талоны авиакомпаний и другие виды общественного транспорта. Как правило, каждый проезд соответствует одной поездке с определенной начальной и конечной точкой.
Купоны используют ключевой купон . Этот стиль пропуска подходит для купонов, специальных предложений и других скидок.
В билетах на мероприятия используется ключ eventTicket . Этот стиль пропуска подходит для пропусков, используемых для входа на такие мероприятия, как концерт, кино, спектакль или спортивное мероприятие. Как правило, каждый абонемент соответствует определенному событию, но вы также можете использовать один абонемент на несколько мероприятий, как в абонементе.
В карточках магазинов используется ключ storeCard . Этот стиль прохода подходит для карт лояльности магазина, дисконтных карт, карт баллов и подарочных карт. Как правило, магазин идентифицирует учетную запись пользователя в вашей компании, которую можно использовать для совершения платежей или получения скидок. Когда на счете есть баланс, покажите текущий баланс на абонементе.
Общие проходы используют универсальный ключ . Этот стиль подходит для любых проездных, которые не подходят ни к одному из других, более специфических стилей, например к членским билетам в спортзал, билетам на гардероб и проездным в метро с балансом.
Значением ключа стиля передачи является словарь, содержащий поля, содержащие содержимое передачи. В листинге 4-1 показан пропуск, использующий стиль посадочного талона, с заполнителем для словарей полей.
Листинг 4-1. Частичный проход с ключами верхнего уровня
Стиль прохода определяет, как располагаются поля и какие изображения можно использовать.В Таблице 4-1 показаны изображения, поддерживаемые каждым стилем прохода, а также количество и расположение полей для каждого стиля прохода. Стиль пропуска также влияет на информацию о релевантности — подробнее см. в разделе Отображение информации о релевантности на экране блокировки.
Читайте также: