VS Python-OpenCVの開発中国語パスデータのロード方法
まず、相対パスデータと中国語パスデータをロードする方法について、上記の質問を振り返ります.
相対経路は良く、相対的に実行である.pyファイルディレクトリを基準に./現在のディレクトリを表します.前の階層のディレクトリを表します.たとえば、次のようになります.
img = cv2.imread("../photo/ruiver.jpg")
この表示方法はLinuxでのコマンドライン表示と同じです
中国語のパスデータをロードして、私達はモジュール化のプログラミングを採用して、新しく中国語のパスデータを読み取ることができる関数をカプセル化して、まず私達はいくつかの知識点を補充して、
1、1つのPythonソースファイル(.py)は直接実行できるほか、モジュール(すなわちライブラリ)として、他のものとしてもよい.pyファイルインポート;
2、直接運転しても導入するても、pyファイルの最上位コードが実行され(Pythonはコード階層をインデントで区別)、最初の行から行ごとに最上位コードが実行されます.
3、if __name__ == "__main__",条件コンパイルは、nameがmain関数の場合、プログラムのエントリがここにあることを示し、
4、一つなら.pyファイル(モジュール)が直接実行されると、パケット構造はなく、
以下に、関数に従ってカプセル化して中国語のパスデータを正常に読み取る例を示します.
##画像を読み取り、imreadが中国語のパスを読めないという問題を解決するdef cv_imread(filePath): cv_img=cv2.imdecode(np.fromfile(file Path,dtype=np.uint 8),-1)##imdecodeはrgbを読み、その後opencv処理が必要な場合はbgrに変換する必要があり、変換後に画像の色が変化する##cv_img=cv2.cvtColor(cv_img,cv2.COLOR_RGB2BGR) return cv_img
#画像を読み取り、bmp、jpg、png、tiffなどの一般的なフォーマットをサポート
def main():path=".../ピクチャ/ruiver.jpg"img=cv_imread(path)#ウィンドウを作成し、画像cv 2を表示する.namedWindow("Image",cv2.WINDOW_AUTOSIZE) cv2.imshow("Image",img) cv2.waitKey(0)#リリースウィンドウcv 2.destroyAllWindows()
if __name__=='__main__': main()はパッケージ構造がなく、ここが入り口であることを示しています
相対経路は良く、相対的に実行である.pyファイルディレクトリを基準に./現在のディレクトリを表します.前の階層のディレクトリを表します.たとえば、次のようになります.
img = cv2.imread("../photo/ruiver.jpg")
この表示方法はLinuxでのコマンドライン表示と同じです
中国語のパスデータをロードして、私達はモジュール化のプログラミングを採用して、新しく中国語のパスデータを読み取ることができる関数をカプセル化して、まず私達はいくつかの知識点を補充して、
1、1つのPythonソースファイル(.py)は直接実行できるほか、モジュール(すなわちライブラリ)として、他のものとしてもよい.pyファイルインポート;
2、直接運転しても導入するても、pyファイルの最上位コードが実行され(Pythonはコード階層をインデントで区別)、最初の行から行ごとに最上位コードが実行されます.
3、if __name__ == "__main__",条件コンパイルは、nameがmain関数の場合、プログラムのエントリがここにあることを示し、
__name__
は内蔵変数であり、現在のモジュールの名前を表すために使用することができ、if_name__ == "__main__"実際の役割はなく、プログラムエントリの識別としてのみ使用されます.4、一つなら.pyファイル(モジュール)が直接実行されると、パケット構造はなく、
__name__
の値は__main__
、すなわちモジュール名は__main__
’である.以下に、関数に従ってカプセル化して中国語のパスデータを正常に読み取る例を示します.
##画像を読み取り、imreadが中国語のパスを読めないという問題を解決するdef cv_imread(filePath): cv_img=cv2.imdecode(np.fromfile(file Path,dtype=np.uint 8),-1)##imdecodeはrgbを読み、その後opencv処理が必要な場合はbgrに変換する必要があり、変換後に画像の色が変化する##cv_img=cv2.cvtColor(cv_img,cv2.COLOR_RGB2BGR) return cv_img
#画像を読み取り、bmp、jpg、png、tiffなどの一般的なフォーマットをサポート
def main():path=".../ピクチャ/ruiver.jpg"img=cv_imread(path)#ウィンドウを作成し、画像cv 2を表示する.namedWindow("Image",cv2.WINDOW_AUTOSIZE) cv2.imshow("Image",img) cv2.waitKey(0)#リリースウィンドウcv 2.destroyAllWindows()
if __name__=='__main__': main()はパッケージ構造がなく、ここが入り口であることを示しています