Используйте 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, если вы хотите это сделать.