Search

2023/03/03

Powershell OpenCVSharp4を使う 基本だけ

OpenCVSharp4をPowershellで使う基本のみ
依存関係でsystem.memory がバージョン4.5.3 (1.0.0.1?)なのが躓いた。


参考)
schima.hatenablog.com

迷惑堂本舗.

NugetからOpenCvSharp.dllをダウンロード。
依存関係のDLLはエラーメッセージから読み取って、
NugetのDependenciesの項目から各種をダウンロード。



add-type -path  "c:\00lib\system.runtime.compilerservices.unsafe.6.0.0\lib\net461\System.Runtime.CompilerServices.Unsafe.dll";
add-type -path  "c:\00lib\system.memory.4.5.3\lib\netstandard2.0\System.Memory.dll";
add-type -path  "c:\00lib\system.valuetuple.4.5.0\lib\net461\System.ValueTuple.dll"

add-type -path  "c:\00lib\System.Buffers.4.5.1\lib\net461\System.Buffers.dll";
add-type -path  "c:\00lib\system.numerics.vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll";


try
{
add-type -path  "c:\00lib\opencvsharp4.4.7.0.20230115\lib\net48\OpenCvSharp.dll";

}
catch [System.Reflection.ReflectionTypeLoadException]
{
	Write-Host  "Message: $($_.Exception.Message)"
	Write-Host  "StackTrace: $($_.Exception.StackTrace)"
	Write-Host  "LoaderExceptions: $($_.Exception.LoaderExceptions)"
}



$size = New-Object OpenCvSharp.Size(240, 240)  ;

$img = [OpenCvSharp.Mat]::new($size, [OpenCvSharp.MatType]::CV_8UC3, 1)  ;


for ([int]$y = 0; $y -lt $img.Height; $y++)
{
  for ([int]$x = 0; $x -lt $img.Width; $x++)
  {
    $pic =  [OpenCvSharp.Vec3b]::new(255,80,3+$x);
    $img.Set($x, $y, $pic);
  }
 }

  
[OpenCvSharp.Cv2]::NamedWindow("window") ; 
[OpenCvSharp.Cv2]::ImShow("window", $img) ; 
[OpenCvSharp.Cv2]::WaitKey();
[OpenCvSharp.Cv2]::DestroyWindow("window") ;  
  
  
  

0 件のコメント:

コメントを投稿