TkInterウィンドウでウェブカメラを表示する方法は?
Pythonライブラリは独立しているため、特定の機能を備えたアプリケーションを構築する際に、それらすべてをさまざまな目的に使用できます。この例では、OpenCVとTkinterライブラリを使用してアプリケーションを構築します。 OpenCVは、ComputerVisionやその他の人工的なアーティファクトを操作するために使用されるPythonライブラリです。 OpenCVモジュールを使用して、ウェブカメラをtkinterウィンドウに表示する必要があります。
アプリケーションを作成するには、 open-cvをインストールする必要があります ローカルマシンで、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()を継続的にキャプチャします 出力
上記のコードを実行するたびに、Webカメラがオンになり、出力がtkinterウィンドウに表示されます。
-
キャンバスで画像を中央に配置する方法PythonTkinter
Tkinterを使用してGUIベースのアプリケーションを作成していて、Tkinterキャンバスに画像をロードしたいとします。 デフォルトでは、キャンバスはその幅と高さに応じて画像をロードしますが、「方向」を渡すことで、画像の位置を任意の方向(N、S、E、W、NS、EWなど)に操作できます。アンカーパラメータの値。アンカーは、画像関数とともに呼び出されるパラメータです。キャンバス内の画像の方向または位置を定義します。 アンカーパラメータを使用することで、テキストと画像を任意の方向に揃えることができます。今のところ、ラベルを使用して画像ラベルを作成します そのような機能、 Label(root
-
tkinterウィンドウを閉じるにはどうすればよいですか?
tkinterを使用してアプリケーションを作成するのは簡単ですが、タイトルバーのボタンを使用せずにウィンドウまたはフレームを閉じることが困難になる場合があります。このような場合、 .destroy()を使用できます ウィンドウを閉じる方法。 tkinter属性は互いに独立しているため、ボタンを使用してウィンドウを閉じる別のメソッドを作成できます。 例 #Import the library from tkinter import * #Create an instance of window win = Tk() #Set the geometry of the window win.g