Add files via upload
This commit is contained in:
parent
686f974805
commit
12f70acfe5
|
@ -0,0 +1,54 @@
|
|||
import cv2
|
||||
import numpy as np
|
||||
import os
|
||||
from matplotlib import pyplot as plt
|
||||
|
||||
# Function to process each image
|
||||
def process_image(image_path, output_folder):
|
||||
image = cv2.imread(image_path)
|
||||
|
||||
# Convert BGR to RGB
|
||||
image_rgb = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
|
||||
|
||||
# Define color range
|
||||
lower_bound = np.array([50, 70, 30], dtype=np.uint8)
|
||||
upper_bound = np.array([150, 255, 150], dtype=np.uint8)
|
||||
|
||||
# Create mask
|
||||
mask = cv2.inRange(image_rgb, lower_bound, upper_bound)
|
||||
|
||||
# Create an output
|
||||
output_image = np.zeros_like(image_rgb)
|
||||
output_image[mask != 0] = (255, 255, 255)
|
||||
|
||||
# Convert to grayscale
|
||||
output_gray = cv2.cvtColor(output_image, cv2.COLOR_RGB2GRAY)
|
||||
|
||||
# Convert grayscale image to binary
|
||||
_, binary = cv2.threshold(output_gray, 1, 255, cv2.THRESH_BINARY)
|
||||
|
||||
# Define output filename
|
||||
filename = os.path.splitext(os.path.basename(image_path))[0]
|
||||
output_filename = f"{filename}_green_yellow.png"
|
||||
output_path = os.path.join(output_folder, output_filename)
|
||||
|
||||
# Save processed image
|
||||
cv2.imwrite(output_path, binary)
|
||||
print(f"Processed: {image_path} -> {output_path}")
|
||||
|
||||
# Function to process all images in folder
|
||||
def process_images_in_folder(input_folder, output_folder):
|
||||
os.makedirs(output_folder, exist_ok=True)
|
||||
|
||||
# Loop through images in the input folder
|
||||
for filename in os.listdir(input_folder):
|
||||
if filename.lower().endswith((".jpg", ".jpeg", ".png")):
|
||||
image_path = os.path.join(input_folder, filename)
|
||||
process_image(image_path, output_folder)
|
||||
|
||||
# Set input and output folders
|
||||
input_folder = "in"
|
||||
output_folder = "out"
|
||||
|
||||
# Run the processing
|
||||
process_images_in_folder(input_folder, output_folder)
|
Loading…
Reference in New Issue