Я хочу, чтобы мой код захватывал одно изображение с веб-камеры и обрабатывал его дальше, например, позже определял цвета и края и многое другое. Короче говоря, я хочу заняться приобретением изображений.
import cv2
cap = cv2.VideoCapture(0) # Usually if u have only 1 camera, then it's 0, if u have multiple camera then it's may be 0,1,2 ...
ret, frame = cap.read() # ret is True or False status which shows if you are success reading frame from web cam, frame is an array
# If u want to loop to read continously
ret = True
while ret:
ret, frame = cap.read()
if frame is None:
continue # this will stop the loop if we failed to read frame, because ret will be False
Если это тот ответ, который вы хотели, то его задавали несколько раз. Убедитесь, что вы пытались найти ответ, прежде чем спросить
@bsikriwal Вы могли бы просто break
после первого цикла?
@MohitMotwani, а, я новичок в программировании, не могли бы вы просто сказать мне, как это будет выглядеть? реально пожалуйста :)
@bsikrival Я ответил на твой вопрос. Дайте мне знать, если это работает для вас.
Чтобы использовать веб-камеру, вы можете использовать VideoCapture
:
import cv2
cap = cv2.VideoCapture(0) # use 0 if you only have front facing camera
ret, frame = cap.read() #read one frame
print(frame.shape)
cap.release() # release the VideoCapture object.
Вы запускаете веб-камеру, читаете одно изображение и тут же отпускаете его. Кадр — это изображение, и вы можете предварительно обработать его, как хотите. Вы можете просмотреть изображение, используя imshow
:
cv2.imshow('image', frame)
if cv2.waitKey(0) & 0xff == ord('q'): # press q to exit
cv2.destroyAllWindows()
cam = cv2.VideoCapture(0)
image = cam.read()[1]
cv2.imshow("image", image)
cv2.waitKey(0)
cv2.destroyAllWindows()
Добро пожаловать в StackOverflow. Хотя этот код может решить вопрос, включая объяснение того, как и почему это решает проблему, действительно поможет улучшить качество вашего сообщения и, вероятно, приведет к большему количеству голосов. Помните, что вы отвечаете на вопрос для будущих читателей, а не только для того, кто задает сейчас. Пожалуйста, отредактируйте свой ответ, чтобы добавить пояснения и указать, какие ограничения и предположения применяются.
эх, это просто читать с веб-камеры. Я этого не хотел, я хочу, чтобы моя веб-камера снимала ОДНУ картинку (один кадр) и обрабатывала ее дальше через алгоритмы.