Надеюсь, кто -нибудь может мне помочь. Я пытаюсь использовать компьютерное зрение, чтобы обнаружить пакет при начале автоматической упаковочной линии. Пакет состоит из сложенных стальных листов, которые имеют текстурированный внешний вид на камеру и цвет фона, который очень похож. Я попробовал много настроек и фильтров от OpenCV, чтобы получить края пакета, но все они не удались. потратили много времени, используя хэпди, Sobel и много других методов, но ни один из них не дал мне приличного результата. < /p>
Вот код одной из моих последних попыток. /p>
import cv2
import numpy as np
import matplotlib.pyplot as plt
# Load image
image_path = "paquetes/paquete1.png"
img = cv2.imread(image_path)
# Convert to grayscale
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# Apply adaptive thresholding
adaptive_thresh = cv2.adaptiveThreshold(
gray, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, 11, 2
)
# Apply Canny edge detection
edges = cv2.Canny(adaptive_thresh, 30, 100, apertureSize=3)
# Morphological refinements
kernel_close = np.ones((5, 5), np.uint8)
kernel_open = np.ones((3, 3), np.uint8)
closed_edges = cv2.morphologyEx(edges, cv2.MORPH_CLOSE, kernel_close, iterations=2)
opened_edges = cv2.morphologyEx(closed_edges, cv2.MORPH_OPEN, kernel_open, iterations=1)
# Light dilation to enhance continuity
kernel_dilate = np.ones((3, 3), np.uint8)
dilated_edges = cv2.dilate(opened_edges, kernel_dilate, iterations=1)
# Invert mask
mask = cv2.bitwise_not(dilated_edges)
# Find contours
contours, _ = cv2.findContours(mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
# Filter contours by number of edges and area
filtered_contours = []
for contour in contours:
epsilon = 0.02 * cv2.arcLength(contour, True)
approx = cv2.approxPolyDP(contour, epsilon, True)
area = cv2.contourArea(contour)
if 4
Это вывод этого кода:
код вывод < /p>
Если у кого -то есть идея, пожалуйста, lmk! < /p>
Подробнее здесь: https://stackoverflow.com/questions/794 ... e-computer
Проблемы, выявляющие края стальной упаковки в автоматизированной упаковочной линии (Computer Vision) ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение