今日は、画像処理における Python の具体的な応用例を紹介します。画像処理なので、opencv モジュールについて触れなければなりません。このモジュールは、コンピューター ビジョンや機械学習に関連する多くのアルゴリズムをサポートしています。そして応用分野は拡大しています。日ごとに大きく分けて以下のような分野があります。
- 物体認識: 視覚と内部ストレージによる物体の判断
- 画像セグメンテーション
- 顔認識
- 車の安全運転
- 人間とコンピューターのインタラクション
- お待ちください
もちろん、今回の編集者はそのような高度な内容をカバーするつもりはありません。今日は、最も基本的な opencv モジュールと、画像の基礎、操作を始めましょう。
モジュールのインストール
私たちは皆、pip コマンドを使用してモジュールをインストールします。
pip install opencv-python pip install opencv-contrib-python
画像に対するさまざまな操作
線形代数を学んだ人にとって、行列行列には馴染みがありません。画像は本質的に行列です。グレースケール画像は通常の行列ですが、カラー画像は多次元行列です。画像に対する操作は、自然に行列に対する操作に変換できます。
画像を読み取ります
最初に、cv2.imread() メソッドを呼び出して画像を読み取ります。その構文形式は次のとおりです。
cv2.imread(filename, flag=1)
フラグ パラメーターが使用されます。画像を読み取る形式を設定します。デフォルトは 1 で、RGB 3 チャネル形式で読み取ることを意味します。0 に設定すると、グレースケール 1 チャネル形式で読み取ることを意味します。
import cv2 import numpy as np img=cv2.imread('1.jpg', 0)
画像を表示
画像を読み取ったら、それを表示したいと思います。ここで使用する関数メソッドは cv2.imshow() で、その構文形式は次のとおりです。
cv2.imshow(name, img)
パラメータの説明は次のとおりです:
- name: 表示ウィンドウの名前を表します
- img: 画像の行列形式
us 上記で読み取った画像を表示してみます。コードは次のとおりです。
cv2.imshow("grey_img", img) ## 如果使用了cv2.imshow()函数,下面一定要跟着一个摧毁窗口的函数 cv2.destroyAllWindows()
上記のコードを実行すると、すぐに画像が表示されることがわかりますが、画像がどのように見えるかを明確に確認する前に直接閉じられてしまいます。 .imshow() 関数メソッドには遅延効果がありません。遅延関数を追加します。コードは次のとおりです。
import cv2 import numpy as np img = cv2.imread('1.jpg') cv2.imshow("grey_img", img) cv2.waitKey(0) cv2.destroyAllWindows()
output
画像保存
最後に画像を保存します。ここで使用する関数は cv2.imwrite() で、その構文形式は次のとおりです。
cv2.imwrite(imgname, img)
パラメータの説明は次のとおりです。
- imgname: 保存する画像の名前
- img: 画像の行列形式
サンプルコードは次のとおりです。画像のさまざまな属性
画像のピクセル サイズを知りたい場合がありますが、画像の本質は行列です。たとえば、1024 ピクセル * 960 ピクセルの画像は、行数を意味します。行列は 960 行と列の数は 1024 です。 opencv モジュールで呼び出されるshape() 関数メソッド、コードは次のとおりです:
import cv2 import numpy as np img = cv2.imread('1.jpg') cv2.imshow("grey_img", img) cv2.waitKey(0) cv2.imwrite('1.png', img) cv2.destroyAllWindows()
output
import cv2 img = cv2.imread('1.jpg') print(img.shape[0]) # 行数 print(img.shape[1]) # 列数 print(img.shape[2]) # 通道数
画像のピクセルが 340*380 で、チャネル数が 3 であることを確認してください。グレースケール画像の場合は、画像のプロパティを見てみましょう。コードは次のとおりです:
308 340 3
output
img = cv2.imread('1_grey.png', 0) print(img.shape)
グレースケール画像の場合、チャネル数は表示されず、行と列の数のみが表示されることがわかります。
画像の基本操作
最後に、画像に対していくつかの基本的な操作を実行してみましょう。これは、いくつかのピクセル値を変更するだけです。空白の画像をインポートし、ピクセル値を変更してそれに黒い点を追加します。コードは次のとおりです。
(308, 340)
output
以上が写真編集ツールとして Python を使ってみたところ、とても使いやすいことが分かりました。 !の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

PythonArraysSupportVariousoperations:1)SlicingExtractsSubsets、2)Appending/ExtendingAdddesements、3)inSertingSelementSatspecificpositions、4)remvingingDeletesements、5)sorting/verversingsorder、and6)listenionsionsionsionsionscreatenewlistsebasedexistin

numpyarraysAressertialentionsionceivationsefirication-efficientnumericalcomputations andDatamanipulation.theyarecrucialindatascience、mashineelearning、物理学、エンジニアリング、および促進可能性への適用性、scaledatiencyを効率的に、forexample、infinancialanalyyy

UseanArray.ArrayOverAlistinPythonは、Performance-criticalCode.1)homogeneousdata:araysavememorywithpedelements.2)Performance-criticalcode:Araysofterbetterbetterfornumerumerumericaleperations.3)interf

いいえ、notallistoperationSaresuptedbyarrays、andviceversa.1)arraysdonotsupportdynamicoperationslikeappendorintorintorinsertizizing、whosimpactsporformance.2)リスト

toaccesselementsinapythonlist、useindexing、negativeindexing、slicing、oriteration.1)indexingstartsat0.2)negativeindexingAcsesess.3)slicingextractStions.4)reterationSuseSuseSuseSuseSeSeS forLoopseCheckLentlentlentlentlentlentlenttodExeror。

Arraysinpython、特にvianumpy、arecrucialinscientificComputing fortheirefficienty andversitility.1)彼らは、fornumericaloperations、data analysis、andmachinelearning.2)numpy'simplementation incensuresfasteroperationsthanpasteroperations.3)arayableminablecickick

Pyenv、Venv、およびAnacondaを使用して、さまざまなPythonバージョンを管理できます。 1)Pyenvを使用して、複数のPythonバージョンを管理します。Pyenvをインストールし、グローバルバージョンとローカルバージョンを設定します。 2)VENVを使用して仮想環境を作成して、プロジェクトの依存関係を分離します。 3)Anacondaを使用して、データサイエンスプロジェクトでPythonバージョンを管理します。 4)システムレベルのタスク用にシステムPythonを保持します。これらのツールと戦略を通じて、Pythonのさまざまなバージョンを効果的に管理して、プロジェクトのスムーズな実行を確保できます。

numpyarrayshaveveraladvantages-averstandardpythonarrays:1)thealmuchfasterduetocベースのインプレンテーション、2)アレモレメモリ効率、特にlargedatasets、および3)それらは、拡散化された、構造化された形成術科療法、


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

ホットトピック









