在Powershell中使用OpenCV

2 投票
1 回答
2629 浏览
提问于 2025-04-17 20:48

我现在有一个用Python写的脚本,它使用OpenCV和PIL来自动裁剪头像。我的工作要求我把它转换成PowerShell,因为在Windows环境下工作有很多原因。

我四处查找,但没有找到专门针对PowerShell的内容,不过我看到一些VB/.net的版本在网上流传。请问可以在PowerShell中使用这些吗?

另外,PowerShell有没有类似于PIL(现在叫Pillow)的东西呢?

1 个回答

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 来导入它,然后像上面的例子那样使用。

撰写回答