Python
 Computer >> コンピューター >  >> プログラミング >> Python

TkinterでのOpenCVの使用


Open CVは、コンピュータービジョンやその他の人工的なアーティファクトを操作するために使用されるPythonライブラリです。 Open CVには、人工知能と機械学習でコンピュータービジョンを操作するためのアクセスを提供する関数とメソッドが組み込まれています。 Open CVの例としては、顔検出、物体検出、X線、その他の産業用途があります。

Tkinter Libraryを使用すると、OpenCVをアプリケーションの重要な部分として使用するインタラクティブなアプリケーションを作成できます。

アプリケーションを作成するには、ローカルマシンにOpenCVをインストールし、PythonPillowパッケージがプリインストールされていることを確認する必要があります。ノートブックで次のコマンドを入力すると、これらのパッケージをインストールできます。

pip install open-cv
pip install Pillow

インストールが完了すると、アプリケーションの構造とGUIの作成を開始できます。このアプリケーションの基本的な機能は、OpenCVを使用して(可能であれば)Webカメラを開くことです。したがって、キャプチャされたすべてのフレームを表示するには、フレームを画像に変換するPython Pillow(PIL)パッケージを使用できます。画像は、ウィンドウ内のキャプチャされたすべてのフレームを繰り返し表示するラベルウィジェットで使用できるようになりました。

# Import required Libraries
from tkinter import *
from PIL import Image, ImageTk
import cv2

# Create an instance of TKinter Window or frame
win= Tk()

# Set the size of the window
win.geometry("700x350")# Create a Label to capture the Video frames
label =Label(win)
label.grid(row=0, column=0)
cap= cv2.VideoCapture(0)

# Define function to show frame
   def show_frames():
      # Get the latest frame and convert into Image
      cv2image= cv2.cvtColor(cap.read()[1],cv2.COLOR_BGR2RGB)
      img = Image.fromarray(cv2image)

      # Convert image to PhotoImage
      imgtk = ImageTk.PhotoImage(image = img)
      label.imgtk = imgtk
      label.configure(image=imgtk)

# Repeat after an interval to capture continiously
label.after(20, show_frames)

show_frames()
win.mainloop()

出力

上記のコードを実行すると、フレームをキャプチャするためにユーザーカメラを開くウィンドウが表示されます。

TkinterでのOpenCVの使用


  1. OpenCVを使用した画像のPythonグレイスケーリング

    このチュートリアルでは、グレースケーリングを使用して画像のグレースケーリングを変更する方法を学習します。 RGB、CMYK、などのさまざまな色空間から画像を変更するプロセスです。 など、グレーの色合い 。 OpenCVをインストールします 以前にインストールしたことがない場合はモジュール。 pip install opencv-python OpenCVモジュールをインストールした後。以下の手順に従ってコードを記述してください。 cv2モジュールをインポートします。 cv2.imread(image_path)を使用して画像を読み取ります 変数に保存します。 cv2.cvtCo

  2. PythonでOpenCVを使用して画像内の円を検索する

    OpenCVプラットフォームは、Python用のcv2ライブラリを提供します。これは、コンピュータビジョンで役立つさまざまな形状分析に使用できます。この記事では、OpenCVを使用して円の形状を識別します。そのために、cv2.HoughCircles()関数を使用します。ハフ変換を使用してグレースケール画像内の円を検索します。以下の例では、入力として画像を取得します。次に、そのコピーを作成し、この変換関数を適用して、出力内の円を識別します。 構文 cv2.HoughCircles(image, method, dp, minDist) Where Image is the image file