{"id":6317,"date":"2019-03-13T11:32:52","date_gmt":"2019-03-13T02:32:52","guid":{"rendered":"http:\/\/www.gisdeveloper.co.kr\/?p=6317"},"modified":"2020-05-28T12:43:16","modified_gmt":"2020-05-28T03:43:16","slug":"python%ea%b3%bc-opencv-2-%eb%b9%84%eb%94%94%ec%98%a4%eb%a5%bc-%ea%b0%80%ec%a7%80%ea%b3%a0-%ec%8b%9c%ec%9e%91%ed%95%98%ea%b8%b0","status":"publish","type":"post","link":"http:\/\/www.gisdeveloper.co.kr\/?p=6317","title":{"rendered":"Python\uacfc OpenCV &#8211; 2 : \ube44\ub514\uc624\ub97c \uac00\uc9c0\uace0 \uc2dc\uc791\ud558\uae30"},"content":{"rendered":"<p>\uc6d0\ubb38\uc740 https:\/\/opencv-python-tutroals.readthedocs.io\/en\/latest\/py_tutorials\/py_gui\/py_video_display\/py_video_display.html \uc785\ub2c8\ub2e4. OpenCV\uc5d0\ub294 \uce74\uba54\ub77c\ub97c \ud1b5\ud574\uc11c\ub3c4 \uc774\ubbf8\uc9c0\ub97c \ubc1b\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc544\ub798\uc758 \ucf54\ub4dc\ub294 \ucef4\ud4e8\ud130\uc5d0 \uc5f0\uacb0\ub41c \uce74\uba54\ub77c\ub97c \ud1b5\ud574 \uc601\uc0c1\uc744 \ubc1b\uc544 \ud45c\uc2dc\ud558\ub294 \ucf54\ub4dc\uc785\ub2c8\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\nimport numpy as np\r\nimport cv2\r\n\r\ncap = cv2.VideoCapture(0)\r\n\r\nprint(cap.get(3), cap.get(4))\r\n\r\nret = cap.set(3,320)\r\nret = cap.set(4,240)\r\n\r\nwhile(True):\r\n    ret, frame = cap.read() \r\n\r\n    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)\r\n\r\n    cv2.imshow('frame', gray)\r\n    if cv2.waitKey(1) & 0xFF == ord('q'):\r\n        break\r\n\r\ncap.release()\r\ncv2.destroyAllWindows()\r\n<\/pre>\n<p>4\ubc88 \ucf54\ub4dc\uc5d0\uc11c \uccab\ubc88\uc9f8(0) \uce74\uba54\ub77c\ub97c VideoCapture \ud0c0\uc785\uc758 \uac1d\uccb4\ub85c \uc5bb\uc5b4\uc635\ub2c8\ub2e4. 6\ubc88\uc740 \uc774 \uce74\uba54\ub77c\uc758 \uc601\uc0c1\uc5d0 \ub300\ud55c \uac00\ub85c, \uc138\ub85c\uc5d0 \ub300\ud55c \ud53d\uc140 \uae38\uc774\ub97c \ucd9c\ub825\ud569\ub2c8\ub2e4. \ud544\uc790\uc758 \uacbd\uc6b0 640 480\uc774 \ucd9c\ub825\ub418\uc5c8\uc2b5\ub2c8\ub2e4. 8,9\ubc88 \ucf54\ub4dc\ub97c \ud1b5\ud574 \uac00\ub85c\uc640 \uc138\ub85c\uc758 \ud06c\uae30\ub97c \uac01\uac01 320&#215;240\uc73c\ub85c \ubcc0\uacbd\ud569\ub2c8\ub2e4. q \ud0a4\ub97c \ub204\ub97c\ub54c\uae4c\uc9c0 11\ubc88\uc758 \ubc18\ubcf5\ubb38\uc774 \ubb34\ud55c \ubc18\ubcf5\ub429\ub2c8\ub2e4. 12\ubc88\uc5d0\uc11c \uce74\uba54\ub77c\ub85c\ubd80\ud130 \ud604\uc7ac\uc758 \uc601\uc0c1 \ud558\ub098\ub97c \uc77d\uc5b4\uc624\uace0, 14\ubc88\uc5d0\uc11c \uc774 \uc601\uc0c1\uc744 Gray\ub85c \ubcc0\ud658\ud569\ub2c8\ub2e4. 16\ubc88\uc5d0\uc11c \uc774 Gray \uc601\uc0c1\uc744 Window\uc5d0 \ud45c\uc2dc\ud569\ub2c8\ub2e4. q \ud0a4\ub97c \ub20c\ub7ec Window\ub97c \ub2eb\uac8c \ub418\uba74 \ud504\ub85c\uadf8\ub7a8\uc774 \uc885\ub8cc\ub418\ub294\ub370, \uc774\ub54c \uc0ac\uc6a9\ud55c \uce74\uba54\ub77c\uc5d0 \ub300\ud55c \ub9ac\uc18c\uc2a4 \ud574\uc81c\uc5d0 \ub300\ud55c \ucf54\ub4dc\uac00 20\ubc88\uc785\ub2c8\ub2e4.<\/p>\n<p>\uce74\uba54\ub77c\ub85c\ubd80\ud130 \uc601\uc0c1\uc744 \ud45c\uc2dc\ud560 \uc218\ub3c4 \uc788\uc9c0\ub9cc, \uc774\ub97c \ud30c\uc77c\ub85c \uae30\ub85d\ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub798\uc758 \ucf54\ub4dc\ucc98\ub7fc\uc694.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\nimport numpy as np\r\nimport cv2\r\n\r\ncap = cv2.VideoCapture(0)\r\n\r\nfourcc = cv2.VideoWriter_fourcc(*'XVID')\r\nout = cv2.VideoWriter('d:\/output.mp4', fourcc, 20.0, (640,480))\r\n\r\nwhile(cap.isOpened()):\r\n    ret, frame = cap.read()\r\n    if ret == True:\r\n        frame = cv2.flip(frame, 0)\r\n        out.write(frame)\r\n\r\n        cv2.imshow('frame', frame)\r\n        if cv2.waitKey(1) & 0xFF == ord('q'):\r\n            break\r\n    else:\r\n        break\r\n\r\ncap.release()\r\nout.release()\r\ncv2.destroyAllWindows()\r\n<\/pre>\n<p>7\ubc88\uc758 \ucf54\ub4dc\uc5d0\uc11c \uae30\ub85d\ud560 \ub3d9\uc601\uc0c1 \ud30c\uc77c\uba85\uacfc \ud504\ub808\uc784\ub960(20), \uc601\uc0c1\uc758 \ud06c\uae30(640, 480)\uc744 \uc9c0\uc815\ud569\ub2c8\ub2e4. \ud30c\uc77c\uba85\uc758 \ud655\uc7a5\uc790\ub294 mp4\ub098 avi \ub4f1\uc774 \uac00\ub2a5\ud55c\ub370, \ud655\uc7a5\uc790\uc5d0 \ub530\ub77c \ub9cc\ub4e4\uc5b4\uc9c0\ub294 \uc601\uc0c1\uc758 \ud3ec\uba67\uc774 \uacb0\uc815\ub429\ub2c8\ub2e4. \uc2e4\uc81c \uc601\uc0c1\uc758 \uc800\uc7a5\uc740 13\ubc88 \ucf54\ub4dc\uc785\ub2c8\ub2e4. \ud14c\uc2a4\ud2b8\ub85c 12\ubc88 \ucf54\ub4dc\uc5d0\uc11c \uc601\uc0c1\uc744 \ub4a4\uc9d1\uc5b4 \uae30\ub85d\ud558\ub3c4\ub85d \ud558\uc600\uc2b5\ub2c8\ub2e4. q \ud0a4\ub97c \ub20c\ub7ec \uc601\uc0c1\uc744 \uae30\ub85d\ud558\ub294 \ubc18\ubcf5\ubb38\uc774 \uc885\ub8cc\ub418\uba74 \ube44\ub514\uc624 \uac1d\uccb4\ub97c \ud574\uc81c\ud574\uc57c \ud558\ub294\ub370 \ud574\ub2f9 \ucf54\ub4dc\uac00 \ubc14\ub85c 21, 22\ubc88\uc785\ub2c8\ub2e4.<\/p>\n<p>\uce74\uba54\ub77c\uac00 \uc544\ub2cc \ub3d9\uc601\uc0c1 \ud30c\uc77c\ub85c\ubd80\ud130\ub3c4 \uc601\uc0c1\uc744 \uc5bb\uc5b4 \ud45c\uc2dc\ud560 \uc218 \uc788\ub294\ub370, \ud574\ub2f9 \ucf54\ub4dc\ub294 \uc544\ub798\uc640 \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\nimport numpy as np\r\nimport cv2\r\n\r\ncap = cv2.VideoCapture('.\/data\/vtest.avi')\r\n\r\nwhile(cap.isOpened()):\r\n    ret, frame = cap.read()\r\n\r\n    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)\r\n\r\n    cv2.imshow('frame',gray)\r\n    if cv2.waitKey(1) & 0xFF == ord('q'):\r\n        break\r\n\r\ncap.release()\r\ncv2.destroyAllWindows()\r\n<\/pre>\n<p>\uce74\uba54\ub77c\ub97c \ud1b5\ud55c \uc601\uc0c1 \ud45c\uc2dc\uc5d0 \ub300\ud55c \ucf54\ub4dc\uc640 \ubaa8\ub450 \ub3d9\uc77c\ud55c\ub370, \ucc28\uc774\uc810\uc740 \ub2e8\uc9c0 4\ubc88\uc758 VideoCapture \ud568\uc218\uc758 \uc778\uc790\uac00 \uce74\uba54\ub77c \uc778\ub371\uc2a4\uac00 \uc544\ub2cc \ud30c\uc77c\uba85\uc774\ub77c\ub294 \uc810\uc785\ub2c8\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\uc6d0\ubb38\uc740 https:\/\/opencv-python-tutroals.readthedocs.io\/en\/latest\/py_tutorials\/py_gui\/py_video_display\/py_video_display.html \uc785\ub2c8\ub2e4. OpenCV\uc5d0\ub294 \uce74\uba54\ub77c\ub97c \ud1b5\ud574\uc11c\ub3c4 \uc774\ubbf8\uc9c0\ub97c \ubc1b\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc544\ub798\uc758 \ucf54\ub4dc\ub294 \ucef4\ud4e8\ud130\uc5d0 \uc5f0\uacb0\ub41c \uce74\uba54\ub77c\ub97c \ud1b5\ud574 \uc601\uc0c1\uc744 \ubc1b\uc544 \ud45c\uc2dc\ud558\ub294 \ucf54\ub4dc\uc785\ub2c8\ub2e4. import numpy as np import cv2 cap = cv2.VideoCapture(0) print(cap.get(3), cap.get(4)) ret = cap.set(3,320) ret = cap.set(4,240) while(True): ret, frame = cap.read() gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) cv2.imshow(&#8216;frame&#8217;, gray) if cv2.waitKey(1) &#038; 0xFF == ord(&#8216;q&#8217;): break &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/www.gisdeveloper.co.kr\/?p=6317\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;Python\uacfc OpenCV &#8211; 2 : \ube44\ub514\uc624\ub97c \uac00\uc9c0\uace0 \uc2dc\uc791\ud558\uae30&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[130,131],"tags":[],"class_list":["post-6317","post","type-post","status-publish","format-standard","hentry","category-opencv","category-python"],"_links":{"self":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/6317","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6317"}],"version-history":[{"count":7,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/6317\/revisions"}],"predecessor-version":[{"id":9503,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/6317\/revisions\/9503"}],"wp:attachment":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6317"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6317"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6317"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}