Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
API-интерфейсы суперснимания изображений позволяют увеличить и масштабировать изображения.
Масштабирование ограничено максимальным коэффициентом 8x, так как более высокие коэффициенты масштабирования могут привести к артефактам и компрометации точности изображения. Если окончательная ширина или высота больше 8x исходных значений, будет создано исключение.
Дополнительные сведения об API см. в справочнике по API для функций создания образов искусственного интеллекта.
Сведения о модерации содержимого см. в разделе "Безопасность содержимого" с помощью api создания искусственного интеллекта.
Это важно
Требования к манифесту пакета: Чтобы использовать API создания изображений Windows AI, ваше приложение должно быть упаковано в формате пакета MSIX с systemAIModels возможностью, объявленной в Package.appxmanifest. Кроме того, убедитесь, что атрибут манифеста MaxVersionTested установлен на актуальную версию Windows (например, 10.0.26226.0 или более позднюю), чтобы правильно поддерживать функции ИИ Windows. Использование старых значений может привести к ошибкам "Не объявленные приложением" при загрузке модели.
<Dependencies>
<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.17763.0" MaxVersionTested="10.0.26226.0" />
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.17763.0" MaxVersionTested="10.0.26226.0" />
</Dependencies>
Пример суперразрешения изображений
В следующем примере показано, как изменить масштаб (targetWidth,) targetHeightсуществующего растрового изображения программного обеспечения () и улучшить резкость изображения с помощью softwareBitmap объекта (ImageScalerдля повышения резкости без масштабирования изображения, просто укажите существующую ширину и высоту изображения).
Убедитесь, что модель разрешения изображений доступна, вызвав метод GetReadyState , а затем дождитесь успешного возврата метода EnsureReadyAsync .
После того как модель суперразрежение изображений будет доступна, создайте объект ImageScaler , чтобы ссылаться на него.
Получите точимую и масштабируемую версию существующего изображения, передав существующий образ и нужную ширину и высоту модели с помощью метода ScaleSoftwareBitmap .
using Microsoft.Graphics.Imaging;
using Microsoft.Windows.Management.Deployment;
using Microsoft.Windows.AI;
using Windows.Graphics.Imaging;
if (ImageScaler.GetReadyState() == AIFeatureReadyState.NotReady)
{
var result = await ImageScaler.EnsureReadyAsync();
if (result.Status != AIFeatureReadyResultState.Success)
{
throw result.ExtendedError;
}
}
ImageScaler imageScaler = await ImageScaler.CreateAsync();
SoftwareBitmap finalImage = imageScaler.ScaleSoftwareBitmap(softwareBitmap, targetWidth, targetHeight);
#include <winrt/Microsoft.Graphics.Imaging.h>
#include <winrt/Microsoft.Windows.AI.h>
#include <winrt/Windows.Foundation.h>
#include <winrt/Windows.Graphics.Imaging.h>
using namespace winrt::Microsoft::Graphics::Imaging;
using namespace winrt::Microsoft::Windows::AI;
using namespace winrt::Windows::Foundation;
using namespace winrt::Windows::Graphics::Imaging;
if (ImageScaler::GetReadyState() == AIFeatureReadyState::NotReady)
{
auto loadResult = ImageScaler::EnsureReadyAsync().get();
if (loadResult.Status() != AIFeatureReadyResultState::Success)
{
throw winrt::hresult_error(loadResult.ExtendedError());
}
}
int targetWidth = 100;
int targetHeight = 100;
ImageScaler imageScaler = ImageScaler::CreateAsync().get();
Windows::Graphics::Imaging::SoftwareBitmap finalImage =
imageScaler.ScaleSoftwareBitmap(softwareBitmap, targetWidth, targetHeight);