Trying to find a solution to cut down the start-up time for camera












-1















I am now working on a image processing project using opencv with 6 cameras covering 360 degrees, connected to a raspberry pi 3 B+. I need to get a single still image from each camera on each rotation. To do this I open, read and close each camera on every 360 degree rotation. But it takes around 1.5 seconds for each camera to go through its starting sequence and a total time of 10+ seconds is way too long for my project. So I am looking for a solution that will cut down the start-up time for each camera to within 0.2 sec to get a still image from each camera on every rotation. Any ideas?



Below is a test code :



import cv2
import sys
print sys.argv
if len(sys.argv) < 2:
print "Usage : > python video.py [camno1] [camno2]"
sys.exit(0)
cam =
cap =
for i in range(len(sys.argv) - 1):
cam.append(int(sys.argv[i+1]))
cap.append(cv2.VideoCapture(cam[i]))
while True:
for i in range(len(cam)):
print "cam"+str(i)+" read"
ret, frame = cap[i].read()
if ret :
cv2.imshow("frame"+str(i), frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break

for i in range(len(cam)):
cap[i].release()

cv2.destroyAllWindows()









share|improve this question













migrated from askubuntu.com Jan 10 at 23:29


This question came from our site for Ubuntu users and developers.























    -1















    I am now working on a image processing project using opencv with 6 cameras covering 360 degrees, connected to a raspberry pi 3 B+. I need to get a single still image from each camera on each rotation. To do this I open, read and close each camera on every 360 degree rotation. But it takes around 1.5 seconds for each camera to go through its starting sequence and a total time of 10+ seconds is way too long for my project. So I am looking for a solution that will cut down the start-up time for each camera to within 0.2 sec to get a still image from each camera on every rotation. Any ideas?



    Below is a test code :



    import cv2
    import sys
    print sys.argv
    if len(sys.argv) < 2:
    print "Usage : > python video.py [camno1] [camno2]"
    sys.exit(0)
    cam =
    cap =
    for i in range(len(sys.argv) - 1):
    cam.append(int(sys.argv[i+1]))
    cap.append(cv2.VideoCapture(cam[i]))
    while True:
    for i in range(len(cam)):
    print "cam"+str(i)+" read"
    ret, frame = cap[i].read()
    if ret :
    cv2.imshow("frame"+str(i), frame)
    if cv2.waitKey(1) & 0xFF == ord('q'):
    break

    for i in range(len(cam)):
    cap[i].release()

    cv2.destroyAllWindows()









    share|improve this question













    migrated from askubuntu.com Jan 10 at 23:29


    This question came from our site for Ubuntu users and developers.





















      -1












      -1








      -1








      I am now working on a image processing project using opencv with 6 cameras covering 360 degrees, connected to a raspberry pi 3 B+. I need to get a single still image from each camera on each rotation. To do this I open, read and close each camera on every 360 degree rotation. But it takes around 1.5 seconds for each camera to go through its starting sequence and a total time of 10+ seconds is way too long for my project. So I am looking for a solution that will cut down the start-up time for each camera to within 0.2 sec to get a still image from each camera on every rotation. Any ideas?



      Below is a test code :



      import cv2
      import sys
      print sys.argv
      if len(sys.argv) < 2:
      print "Usage : > python video.py [camno1] [camno2]"
      sys.exit(0)
      cam =
      cap =
      for i in range(len(sys.argv) - 1):
      cam.append(int(sys.argv[i+1]))
      cap.append(cv2.VideoCapture(cam[i]))
      while True:
      for i in range(len(cam)):
      print "cam"+str(i)+" read"
      ret, frame = cap[i].read()
      if ret :
      cv2.imshow("frame"+str(i), frame)
      if cv2.waitKey(1) & 0xFF == ord('q'):
      break

      for i in range(len(cam)):
      cap[i].release()

      cv2.destroyAllWindows()









      share|improve this question














      I am now working on a image processing project using opencv with 6 cameras covering 360 degrees, connected to a raspberry pi 3 B+. I need to get a single still image from each camera on each rotation. To do this I open, read and close each camera on every 360 degree rotation. But it takes around 1.5 seconds for each camera to go through its starting sequence and a total time of 10+ seconds is way too long for my project. So I am looking for a solution that will cut down the start-up time for each camera to within 0.2 sec to get a still image from each camera on every rotation. Any ideas?



      Below is a test code :



      import cv2
      import sys
      print sys.argv
      if len(sys.argv) < 2:
      print "Usage : > python video.py [camno1] [camno2]"
      sys.exit(0)
      cam =
      cap =
      for i in range(len(sys.argv) - 1):
      cam.append(int(sys.argv[i+1]))
      cap.append(cv2.VideoCapture(cam[i]))
      while True:
      for i in range(len(cam)):
      print "cam"+str(i)+" read"
      ret, frame = cap[i].read()
      if ret :
      cv2.imshow("frame"+str(i), frame)
      if cv2.waitKey(1) & 0xFF == ord('q'):
      break

      for i in range(len(cam)):
      cap[i].release()

      cv2.destroyAllWindows()






      usb python camera opencv






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Jan 8 at 17:58









      SimonSimon

      1




      1




      migrated from askubuntu.com Jan 10 at 23:29


      This question came from our site for Ubuntu users and developers.









      migrated from askubuntu.com Jan 10 at 23:29


      This question came from our site for Ubuntu users and developers.


























          0






          active

          oldest

          votes











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54138404%2ftrying-to-find-a-solution-to-cut-down-the-start-up-time-for-camera%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes
















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54138404%2ftrying-to-find-a-solution-to-cut-down-the-start-up-time-for-camera%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Mouse cursor on multiple screens with different PPI

          Agildo Ribeiro

          Sometime when accessing a menu: “Ubuntu 16.04 has experienced an internal error”