親愛なる読者とブロガー:
まず、皆さん、おめでとう、Hanziの手紙はセカンドシーズン、2023年のチャプターに到達しました。今日は、機械学習の主要な内容である python opencv pictures に踏み込みます!
目次
3.1.1. コードがエラーを報告し、コードがチェックされ、問題がないことがわかりました。何が起こっているのですか?
3.1.2 明らかに写真があるのですが、表示できません。何が問題なのですか?
1.事前準備
まず、opencv ライブラリが付属していないため、pip する必要があります。内容は以下の通り
pip install opencv-python
opencvと書かないように注意!また、別の依存ライブラリである numpy もインストールされます。次のプログラムを実行して、numpy ライブラリがないというエラーが報告された場合は、次のコード pip を使用してみてください。
pip install numpy
バージョンが低すぎる場合は、python と pip をアップグレードしてください。python3.9 を使用することをお勧めします。python3.10 または 3.11 は互換性がない可能性があります。
2. プログラムコード学習
2.1. 写真の読み方
まず第一に、numpy をインストールする必要がある理由を知る必要があります。必要なのは opencv だけではないでしょうか? それについては、次の章で説明します...
画像を処理したい場合は、まず画像を読み取らなければならないことはよく知られています。プログラムの最初のステップは、ライブラリをインポートすることです。
import cv2
⚠注意: インポートするときは、opencv-python や opencv ではなく、cv2 です!
英語のクラス代表、イメージを知ろう!image の略称は img で、これを im に短縮し、read を追加します。これは、画像を読み取る opencv の関数名です。
cv2.imread(pic_path)
パスを追加すると、次のようになります。
cv2.imread("C:\Users\用户名\Desktop\pic.png")
使用するときは注意して正しいパスに変更する必要があります。
おめでとうございます。画像が正常に読み込まれました。
ヒント: この画像は変数として再利用できます!
pic = cv2.imread("C:\Users\用户名\Desktop\pic.png")
2.2. 写真を表示する
読むだけでは不十分なので、表示する必要があります。関数 imshow を使用します。
cv2.imshow(window_name, pic)
cv2.imshow('demo', pic)
効果は次のとおりです。
自動終了を防ぐために (pycharm が発生する可能性があります)、コードの後に追加できます。
cv2.waitKey(0)
コード全体は次のとおりです。
import cv2
img = cv2.imread(r'C:\Users\用户名\Desktop\pic.jpg')
cv2.imshow('demo', img)
cv2.waitKey(0)
はじめの一歩おめでとうございます!
3. 情報と質問の参照
3.1. エラーリファレンス
3.1.1. コードがエラーを報告し、コードがチェックされ、問題がないことがわかりました。何が起こっているのですか?
エラーは次のようになります: (cv2.error のこの行を見てください)
Traceback (most recent call last):
File "C:\Users\用户名\Desktop\test.py", line 3, in <module>
cv2.imshow('demo', img)
cv2.error: OpenCV(4.7.0) D:\a\opencv-python\opencv-python\opencv\modules\highgui\src\window.cpp:971: error: (-215:Assertion failed) size.width>0 && size.height>0 in function 'cv::imshow'
変ですね。これは、パスに中国語が含まれているためです。これは、opencv の致命的な弱点です。パスに中国語を含めることはできません。
3.1.2 明らかに写真があるのですが、表示できません。何が問題なのですか?
これは比較的まれであり、画像形式が比較的人気がないか、間違っているために表示できない可能性があります。
3.2. データ参照
numpy の内容については、まずは新人プログラミングに行って読んでみてください!
NumPy チュートリアル | Rookie チュートリアル (runoob.com) https://www.runoob.com/numpy/numpy-tutorial.htmlさらに奇妙な質問がある場合は、コメント欄にメッセージを残してください。最後に、より多くの注目、いいね、ブックマークをしていただき、次号でお会いしましょう!
漢字
2023/1/11