検索
ホームページバックエンド開発Python チュートリアル写真編集ツールとして Python を使ってみたところ、とても使いやすいことが分かりました。 !

今日は、画像処理における 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

写真編集ツールとして Python を使ってみたところ、とても使いやすいことが分かりました。 !

画像保存

最後に画像を保存します。ここで使用する関数は 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 サイトの他の関連記事を参照してください。

声明
この記事は51CTO.COMで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
Pythonアレイで実行できる一般的な操作は何ですか?Pythonアレイで実行できる一般的な操作は何ですか?Apr 26, 2025 am 12:22 AM

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

一般的に使用されているnumpy配列はどのようなアプリケーションにありますか?一般的に使用されているnumpy配列はどのようなアプリケーションにありますか?Apr 26, 2025 am 12:13 AM

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

Pythonのリスト上の配列を使用するのはいつですか?Pythonのリスト上の配列を使用するのはいつですか?Apr 26, 2025 am 12:12 AM

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

すべてのリスト操作は配列でサポートされていますか?なぜまたはなぜですか?すべてのリスト操作は配列でサポートされていますか?なぜまたはなぜですか?Apr 26, 2025 am 12:05 AM

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

Pythonリストの要素にどのようにアクセスしますか?Pythonリストの要素にどのようにアクセスしますか?Apr 26, 2025 am 12:03 AM

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

Pythonを使用した科学コンピューティングでアレイはどのように使用されていますか?Pythonを使用した科学コンピューティングでアレイはどのように使用されていますか?Apr 25, 2025 am 12:28 AM

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

同じシステムで異なるPythonバージョンをどのように処理しますか?同じシステムで異なるPythonバージョンをどのように処理しますか?Apr 25, 2025 am 12:24 AM

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

標準のPythonアレイでnumpyアレイを使用することの利点は何ですか?標準のPythonアレイでnumpyアレイを使用することの利点は何ですか?Apr 25, 2025 am 12:21 AM

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

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

PhpStorm Mac バージョン

PhpStorm Mac バージョン

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

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

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

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

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

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター