Найти - Пользователи
Полная версия: Автоматизация учета продукции
Начало » Python проекты » Автоматизация учета продукции
1 2
web
FishHook
webя думаю, вполне могут найтись люди, которым интересно потренироваться в распознавании объектов. Прикрепите к этой теме видео вашего конвейера. Ну и каких-то технических подробностей желательно бы дать: скорость конвейера, с какой частотой на него попадают предметы, и пр.

Спасибо за рекомендацию, да, сразу под рукой не было видео с транспортировкой на ленте. Обновил тему, возможно это поможет лучше понять суть задачи.
ZerG
И координаты конторы где работаете оставьте -мы свяжемся с вашим руководством и обьясним что оно опставило задачу некомпетентному сотруднику
py.user.next
web
Обновил тему, возможно это поможет лучше понять суть задачи.
web
UPD: Прикрепляю видео с двух ракурсов, на котором изображен процесс транспортировки рулона. Возможно, снято слишком близко и угол обзора маловат, но это видео только для наглядности.
https://webtitov.ru/video_rolls_1.mp4
https://webtitov.ru/video_rolls_2.mp4
Зачем тебе YOLO? Возьми OpenCV, по нему примеров в Интернете, определяющих движения объектов на видео, дофига и больше. Думаю, с триггером на движение там тоже можно что-то придумать, если уже готового варианта в Интернете нет. Думаю, тот скрипт, который ты хочешь написать, уже написан кем-то когда-то и не в одном экземпляре.

Если камеру закрепишь неподвижно, то можно будет через вычитание соседних изображений в видео находить фон и дижущуюся фигуру на этом фоне. Там, вроде, даже линию можно провести и контролировать пересечение этой линии. ГИБДДшные программы, определяющие, кто заехал на разметку, чтобы потом сразу штраф выписать, так сделаны.
web
ZerG
И координаты конторы где работаете оставьте -мы свяжемся с вашим руководством и обьясним что оно опставило задачу некомпетентному сотруднику
Я не отрицаю того, что некомпетентен в данном вопросе, читайте внимательнее начало темы, где я указываю на то, что заинтересован больше в совместной разработке или же в том, чтобы помогли сделать и объяснили. Своей невнимательностью вы только ставите под вопрос свои компетенции. )
web
py.user.next
Думаю, тот скрипт, который ты хочешь написать, уже написан кем-то когда-то и не в одном экземпляре.
Откровенно говоря, тоже так думал (по опыту работы в айти, хех, все уже сделано до нас), но видимо плохо искал.

py.user.next
Если камеру закрепишь неподвижно, то можно будет через вычитание соседних изображений в видео находить фон и дижущуюся фигуру на этом фоне. Там, вроде, даже линию можно провести и контролировать пересечение этой линии. ГИБДДшные программы, определяющие, кто заехал на разметку, чтобы потом сразу штраф выписать, так сделаны.
Спасибо, подумаю и над этим вариантом. В целом то, “на словах” алгоритм и принцип мне понятен, вот нужно это теперь перевести в рабочий код.
py.user.next
web
но видимо плохо искал
Я в YouTube ввёл в поиске “opencv движение”, там выдало кучу роликов, в каждом есть код. Думаю, из них несложно собрать код, реагирующий на появление рулона на конвейере.
xam1816
использование камеры как оптический датчик
  
import time
import cv2
#
def get_image(video):
    cap = cv2.VideoCapture(video)
    while True:
        success, img = cap.read()
        if not success:
            break
        else:
            yield img
#
def convert_img(img):
    img[img < 80] = 0
#
def get_color_area(img):
    return img[450:550, 250:251]
#
def count_objects(video, show_enabled=True):
    waiting_for_end_object = False
    count = 0
    for img in get_image(video):
        convert_img(img)
        color = get_color_area(img)
        area_is_black = True if color.all() == 0 else False
        if area_is_black:
            if waiting_for_end_object:
                count += 1
                waiting_for_end_object = False
        else:
            waiting_for_end_object = True
    #=======показывает видео================
        if show_enabled:
            cv2.imshow('img', img)
            cv2.imshow('color', color)
            cv2.waitKey(1)
            time.sleep(0.01)
    cv2.destroyAllWindows()
    #======================================
    return count
#
def main():
    count = count_objects('/home/xam/PycharmProjects/my_project/video_rolls_1.mp4')
    print(count)
#
if __name__ == '__main__':
    main()
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB