การแสดงภาพและการปรับพารามิเตอร์จาก GUI Tkinter
การแสดงภาพจากกล้อง Webcam มีรูปแบบดังนี้
import tkinter as tk
from tkinter import Label, Scale
from PIL import Image, ImageTk
import cv2
import numpy as np
# Function to adjust brightness
def adjust_brightness(frame, brightness):
# Convert brightness value to a factor (e.g., 0.5 to 1.5)
brightness_factor = brightness / 50 # Scale from 0 to 100 to 0.0 to 2.0
# Apply brightness adjustment
adjusted_frame = cv2.convertScaleAbs(frame, alpha=brightness_factor, beta=0)
return adjusted_frame
def show_frames():
ret, frame = cap.read()
if ret:
brightness = brightness_slider.get()
# Adjust the brightness of the frame
frame = adjust_brightness(frame, brightness)
frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
# Convert the frame to an image that Tkinter can display
img = Image.fromarray(frame)
imgtk = ImageTk.PhotoImage(image=img)
# Update the label with the new image
label.imgtk = imgtk
label.configure(image=imgtk)
label.after(10, show_frames)
cap = cv2.VideoCapture(0)
root = tk.Tk()
root.title("Webcam Feed in Tkinter")
root.geometry("1000x1000+100+100")
label = Label(root)
label.pack()
label.place(x=10, y=150)
# Create a slider for brightness control
brightness_slider = Scale(root, from_=0, to=100, length=500, orient=tk.HORIZONTAL, label="Brightness")
brightness_slider.set(50) # Set default brightness to 50
brightness_slider.pack()
brightness_slider.place(x=10, y=50)
show_frames()
root.mainloop()
cap.release()
การเขียนโปรแกรมบน Python แสดงตามภาพด้านล่าง