Используйте OpenCV с Powershell

В настоящее время у меня есть сценарий Python, который использует OpenCV и PIL для автоматической обрезки головы. Моя работа попросила меня перейти на powershell по различным причинам работы в мире Windows.

Оглядываясь вокруг, я не вижу ничего специфичного для powershell, но я видел некоторые версии VB/.net. Можно ли использовать их с PowerShell?

Кроме того, есть ли у PowerShell что-то вроде PIL (подушка сейчас)?

2 ответа

Решение

В PowerShellPack включен простой модуль для работы с изображениями под названием PSImageTools, который выполняет базовые операции, такие как поворот, обрезка и преобразование форматов.

Вы также можете использовать встроенные библиотеки.NET для работы с изображениями.

Пример:

$maxX = 256
$maxY = 256
$b = New-Object -TypeName Drawing.Bitmap($maxX, $maxY)

foreach($x in 0..($maxX-1)) {
    foreach($y in 0..($maxY-1)) {
        [Drawing.Color]$c = '{0},{1},{2}' -f ($x, $y, (255-$x))
        $b.SetPixel($x, $y, $c)
    }
}
$path = 'C:\Temp\gradient.bmp'
$b.Save($path)
Invoke-Item $path 

Если у вас есть библиотека VB/.NET, которая делает то, что вы хотите, вы можете импортировать ее с Add-Type -Path C:\Path\To.dllи используйте его так же, как в примере выше.

Вот это: http://psimagetools.start-automating.com/about%20PSImageTools%20Module/

Или вы можете взять любую вещь.net, которую вы нашли, и упомянули обертку для командлета PS. Посмотрите документацию по пространству имен System.Management.Automation, если вы хотите это сделать.

Другие вопросы по тегам