私はwindows10(home ed)でtesseractを実行しようとしていますが、この質問は実際にはもっと一般的です。プログラムを実行するためのソースと手順は ここ です。ネイティブビルドではなく、ダウンロードしたWindowsバイナリを実行しています(cygwinバージョンも試しましたが、結果が少し悪くなりました。以下を参照してください)。
管理者モードでPowerShellを起動し(右クリックして[管理者として実行]を選択)、OCRを実行するイメージを含むデスクトップ上のフォルダーのコマンドラインから実行しました。
>tesseract image.jpg out
シェルは次のように応答します
>Tesseract with Open Source OCR Engine v3.02 with Leptonica
しかし、書き込みステップに関しては、エラーが発生します。
>Cannot create ouput file out.txt
PowerShell ISEを使用して実行すると、より多くの出力が得られます。
> tesseract : Tesseract Open Source OCR Engine v3.02 with Leptonica At
> line:1 char:1
> + tesseract image.jpg out
> + ~~~~~~~~~~~~~~~~~~~~~~~~~
> + CategoryInfo : NotSpecified: (Tesseract Open ... with Leptonica:String) [], RemoteException
> + FullyQualifiedErrorId : NativeCommandError
> Cannot create output file out.txt
私は試しました パーミッションの変更 PowerShellで
>Set-ExecutionPolicy AllSigned -Scope Process -Force
そして
>Set-ExecutionPolicy Unrestricted -Scope Process -Force
しかし、変化はありませんでした。
注:cygwin bashからcygwinのtesseractバージョンを実行しようとしましたが、シェルはanytesseractコマンドに空白行で応答します。
>
何も書かれていません。
ただし、(コメントで与えられたアドバイスに従って)完全な出力ファイルパスをDownloadsフォルダーを指すように指定すると、書き込みはWindowsバイナリ(cygwinバージョンではない)で機能することに注意してください。
Windows 10 PowerShell(またはcygwin)で実行される実行可能ファイルまたはスクリプトに書き込みアクセス許可を与える方法に関する一般的な解決策が不足しています。数え切れないほどの答えがあるに違いないと思いますが、不思議なことに初心者向けの答えは見つかりません。たとえば、「フォルダへの書き込み権限windows10」を検索すると、スーパーユーザーには何も表示されず、より広いネットをキャストした場合の this などのまばらに説明された広告の多い回答が表示されます。 Windows10でtesseract(実際にはシェルから実行されるシェルスクリプトまたはexeで、ユーザー定義フォルダーへの書き込み権限が必要)を実行するにはどうすればよいですか?これを行う方法について、信頼できるがユーザーフレンドリーな(クイックのように)ガイドはありますか?
自分のユーザープロファイル内のファイル/フォルダを操作しようとしていることを示します。そのための管理者権限は必要ありません。セキュリティ上の理由から管理者権限を使用しないでください。ユーザープロファイルフォルダ内でほとんどすべての変更を実行することはすでに許可されています。
パーミッションは、ランサムウェアから防御するように設計されたWindows Defenderの一部である制御されたフォルダーアクセスによっても拒否できます。 Tesseractを不明/望ましくないソフトウェアとして分類し、ファイルを変更する試みをブロックした可能性があります。
次のいずれかを実行できます。