{"id":6354,"date":"2019-03-18T15:22:23","date_gmt":"2019-03-18T06:22:23","guid":{"rendered":"http:\/\/www.gisdeveloper.co.kr\/?p=6354"},"modified":"2020-05-28T12:41:12","modified_gmt":"2020-05-28T03:41:12","slug":"python%ea%b3%bc-opencv-3-%ec%bd%94%eb%93%9c%eb%a1%9c-%ec%9d%b4%eb%af%b8%ec%a7%80%ec%97%90-%eb%8f%84%ed%98%95-%ea%b7%b8%eb%a6%ac%ea%b8%b0","status":"publish","type":"post","link":"http:\/\/www.gisdeveloper.co.kr\/?p=6354","title":{"rendered":"Python\uacfc OpenCV &#8211; 3 : \ucf54\ub4dc\ub85c \uc774\ubbf8\uc9c0\uc5d0 \ub3c4\ud615 \uadf8\ub9ac\uae30"},"content":{"rendered":"<p>\ucc38\uc870\ud55c \uae00\uc740 https:\/\/opencv-python-tutroals.readthedocs.io\/en\/latest\/py_tutorials\/py_gui\/py_drawing_functions\/py_drawing_functions.html \uc785\ub2c8\ub2e4.<\/p>\n<p>\uc774\ubbf8\uc9c0\ub294 \uc0ac\uc9c4\uc774\ub098 \ub3d9\uc601\uc0c1\uc744 \ud1b5\ud574 \uc5bb\uc744 \uc218\ub3c4 \uc788\uc9c0\ub9cc \ucf54\ub4dc\ub97c \ud1b5\ud574\uc11c\ub3c4 \uc0dd\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc544\ub798\uc758 \ucf54\ub4dc\ub294 512&#215;512 \ud06c\uae30\uc758 3\uac1c\uc758 \ucc44\ub110\ub85c \ub418\uc5b4 \uc788\uc73c\uba70 \ucc44\ub110\uc758 \uad6c\uc131 \ub370\uc774\ud130 \ud0c0\uc785\uc740 unit8\uc785\ub2c8\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\nimport numpy as np\r\nimport cv2\r\n\r\nimg = np.zeros((512,512,3), np.uint8)\r\n<\/pre>\n<p>\uc774 \uc774\ubbf8\uc9c0 \uc704\uc5d0 \ub2e4\uc591\ud55c \ub3c4\ud615\uc744 \uadf8\ub9ac\ub294 \ucf54\ub4dc\ub97c \uc815\ub9ac\ud574 \ubcfc\ud150\ub370\uc694. \uba3c\uc800 \ub450\uc810\uc73c\ub85c \uad6c\uc131\ub41c \uc120\ubd84\uc744 \uadf8\ub9ac\ub294 \ucf54\ub4dc\uc785\ub2c8\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\ncv2.line(img, (0,0), (512,512), (255,0,0), 5)\r\n<\/pre>\n<p>\uc704\uc758 \ucf54\ub4dc\ub294 \uc88c\ud45c(0,0)\uc5d0\uc11c \uc88c\ud45c(512,512)\ub85c \uad6c\uc131\ub41c \uc120\ubd84\uc744 \uc0c9\uc0c1\uc740 (B,G,R) \uc21c\uc11c\uc778 (255,0,0)\uc778 \ud30c\ub780\uc0c9\uc73c\ub85c \uad75\uae30\ub294 5pixel\ub85c \uadf8\ub9bd\ub2c8\ub2e4. \ub2e4\uc74c \ucf54\ub4dc\ub294 \uc0ac\uac01\ud615\uc744 \uadf8\ub9ac\ub294 \ucf54\ub4dc\uc785\ub2c8\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\ncv2.rectangle(img, (384,0), (510,128), (0,255,0), 3)\r\n<\/pre>\n<p>\uc704\uc758 \ucf54\ub4dc\ub294 \uc88c\uc0c1\ub2e8 (384,0)\uacfc \uc6b0\ud558\ub2e8 (510,128)\uc778 \uc9c0\uc0ac\uac01\ud615\uc744 \ucd08\ub85d\uc0c9(0,255,0)\uc73c\ub85c 3Pixel \uad75\uae30\ub85c \uadf8\ub9bd\ub2c8\ub2e4. \ub2e4\uc74c\uc740 \uc6d0\uc744 \uadf8\ub9ac\ub294 \ucf54\ub4dc\uc785\ub2c8\ub2e4.(<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\ncv2.circle(img, (447,63), 63, (0,0,255), -1)\r\n<\/pre>\n<p>\uc704\uc758 \ucf54\ub4dc\ub294 \uc911\uc2ec\uc810 (447,63)\uc774\uace0 \ubc18\uc9c0\ub984\uc740 63\uc778 \uc6d0\uc744 \ube68\uac04\uc0c9(0,0,255)\uc73c\ub85c \ud558\uc5ec \uad75\uae30\uc18d\uc131\uc740 -1\ub85c \ud568\uc73c\ub85c\uc368 \ub3c4\ud615\uc744 \ucc44\uc6c0\ud615\ud0dc\ub85c \uadf8\ub9ac\ub294 \ucf54\ub4dc\uc785\ub2c8\ub2e4. \ub2e4\uc74c\uc740 \ud0c0\uc6d0\uc744 \uadf8\ub9ac\ub294 \ucf54\ub4dc\uc785\ub2c8\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\ncv2.ellipse(img, (256,256), (100,50), 45,0,180,(0,0,255),-1)\r\n<\/pre>\n<p>\uc704\uc758 \ucf54\ub4dc\ub294 \uc911\uc2ec\uc810\uc774 (256,256)\uc774\uace0 \uac00\ub85c \ubc18\uc9c0\ub984\uacfc \uc138\ub85c \ubc18\uc9c0\ub984\uc744 \uac01\uac01 (100,50)\uc774\uba70, 45\ub3c4 \uc2dc\uacc4\ubc29\ud5a5\uc73c\ub85c \ud68c\uc804\ud558\uace0 \uc2dc\uc791\uac01 0\ub3c4 \uc885\ub8cc\uac01 180\ub3c4\uc778 \ud0c0\uc6d0\uc744 \ube68\uac04\uc0c9(0,0,255)\ub85c \ucc44\uc6cc\uc9c4(-1) \ud0c0\uc6d0\uc744 \uadf8\ub9ac\ub294 \ucf54\ub4dc\uc785\ub2c8\ub2e4. \ub2e4\uc74c\uc740 \ud3f4\ub9ac\ub77c\uc778\uc744 \uadf8\ub9ac\ub294 \ucf54\ub4dc\uc785\ub2c8\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\npts = np.array([[10,5],[20,30],[70,20],[50,10]], np.int32)\r\npts = pts.reshape((-1,1,2))\r\ncv2.polylines(img, [pts], True, (0,255,255))\r\n<\/pre>\n<p>\uc704\uc758 \ucf54\ub4dc\ub294 \ucd1d 4\uac1c\uc758 \uc88c\ud45c\ub85c \uad6c\uc131\ub41c pts\ub97c \uc774\uc6a9\ud574 \uc0c9\uc0c1\uc740 BRG\uac12\uc774 \uac01\uac01 (0,255,255)\ub85c \ud558\uc5ec \ud3f4\ub9ac\uace4\uc744 \uadf8\ub9ac\ub294 \ucf54\ub4dc\uc778\ub370.. cv2.polylines\uc758 3\ubc88\uc9f8\ub97c True\ub85c \uc9c0\uc815\ud558\uc5ec \ud3d0\ud569(\uc2dc\uc791\uc810\uacfc \ub05d\uc810\uc744 \uc5f0\uacb0)\ud558\ub3c4\ub85d \uadf8\ub9bd\ub2c8\ub2e4. \ub9c8\uc9c0\ub9c9\uc73c\ub85c \ubb38\uc790\ub97c \uadf8\ub9ac\ub294 \ucf54\ub4dc\uc785\ub2c8\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\nfont = cv2.FONT_HERSHEY_SIMPLEX\r\ncv2.putText(img, 'OpenCV', (10,500), font, 4, (255,255,255), 2)\r\n<\/pre>\n<p>\uc704\uce58 (10,500)\uc5d0 OpenCV\ub77c\ub294 \ubb38\uc790\uc5f4\uc744 \ud3f0\ud2b8 \ud06c\uae30 4\ub85c \ud558\uc5ec \ubc31\uc0c9(255,255,255)\ub85c \ud558\uc5ec \uad75\uae30\ub294 2\ub85c \uadf8\ub9ac\ub294 \ucf54\ub4dc\uc785\ub2c8\ub2e4.<\/p>\n<p>\uc9c0\uae08\uae4c\uc9c0 \uadf8\ub9b0 \uc774\ubbf8\uc9c0\ub97c \ud654\uba74\uc5d0 \ud45c\uc2dc\ud558\uae30 \uc704\ud574 \uc544\ub798\uc758 \ucf54\ub4dc\ub97c \ub367\ubd99\uc785\ub2c8\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\ncv2.imshow('img', img)\r\ncv2.waitKey()\r\ncv2.destroyAllWindows()\r\n<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.gisdeveloper.co.kr\/wp-content\/uploads\/2019\/03\/opencv_drawshape.png\" alt=\"\" width=\"1158\" height=\"1226\" class=\"aligncenter size-full wp-image-6357\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\ucc38\uc870\ud55c \uae00\uc740 https:\/\/opencv-python-tutroals.readthedocs.io\/en\/latest\/py_tutorials\/py_gui\/py_drawing_functions\/py_drawing_functions.html \uc785\ub2c8\ub2e4. \uc774\ubbf8\uc9c0\ub294 \uc0ac\uc9c4\uc774\ub098 \ub3d9\uc601\uc0c1\uc744 \ud1b5\ud574 \uc5bb\uc744 \uc218\ub3c4 \uc788\uc9c0\ub9cc \ucf54\ub4dc\ub97c \ud1b5\ud574\uc11c\ub3c4 \uc0dd\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc544\ub798\uc758 \ucf54\ub4dc\ub294 512&#215;512 \ud06c\uae30\uc758 3\uac1c\uc758 \ucc44\ub110\ub85c \ub418\uc5b4 \uc788\uc73c\uba70 \ucc44\ub110\uc758 \uad6c\uc131 \ub370\uc774\ud130 \ud0c0\uc785\uc740 unit8\uc785\ub2c8\ub2e4. import numpy as np import cv2 img = np.zeros((512,512,3), np.uint8) \uc774 \uc774\ubbf8\uc9c0 \uc704\uc5d0 \ub2e4\uc591\ud55c \ub3c4\ud615\uc744 \uadf8\ub9ac\ub294 \ucf54\ub4dc\ub97c \uc815\ub9ac\ud574 \ubcfc\ud150\ub370\uc694. \uba3c\uc800 \ub450\uc810\uc73c\ub85c \uad6c\uc131\ub41c \uc120\ubd84\uc744 \uadf8\ub9ac\ub294 \ucf54\ub4dc\uc785\ub2c8\ub2e4. cv2.line(img, &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/www.gisdeveloper.co.kr\/?p=6354\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;Python\uacfc OpenCV &#8211; 3 : \ucf54\ub4dc\ub85c \uc774\ubbf8\uc9c0\uc5d0 \ub3c4\ud615 \uadf8\ub9ac\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-6354","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\/6354","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=6354"}],"version-history":[{"count":5,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/6354\/revisions"}],"predecessor-version":[{"id":9497,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/6354\/revisions\/9497"}],"wp:attachment":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6354"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6354"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6354"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}