{"id":2588,"date":"2019-05-18T18:35:24","date_gmt":"2019-05-18T09:35:24","guid":{"rendered":"https:\/\/notitia.i.ryukoku.ac.jp\/?p=2588"},"modified":"2020-03-30T17:21:50","modified_gmt":"2020-03-30T08:21:50","slug":"raspberry-pi%e3%81%a7%e9%81%8a%e3%81%bc%e3%81%86%ef%bc%81-%e3%80%90%e3%83%95%e3%83%ac%e3%83%bc%e3%83%a0%e5%b7%ae%e5%88%86%e6%b3%95%e3%81%ae%e7%b4%b9%e4%bb%8b%e3%80%91-2","status":"publish","type":"post","link":"https:\/\/notitia.i.ryukoku.ac.jp\/?p=2588","title":{"rendered":"Raspberry Pi\u3067\u904a\u307c\u3046\uff01 \u3010\u30d5\u30ec\u30fc\u30e0\u5dee\u5206\u6cd5\u306e\u7d39\u4ecb\u3011"},"content":{"rendered":"<div class=\"tcdce-body\"><p>\u3069\u3082\u30fc\u3001\u305f\u306a\u304b\u3067\u3059\uff01<br \/>\n\u305f\u306a\u304b<span style=\"font-size: 14pt; color: #0000ff;\">\u300c\u306a\u3093\u304b\u5510\u7a81\u306bRaspberry Pi\u3067\u904a\u3073\u305f\u3044\uff01\u300d<\/span><br \/>\n\u3068\u8a00\u3063\u305f\u308f\u3051\u3067\u3001Raspberry Pi\u3067\u76e3\u8996\u30ab\u30e1\u30e9\u3092\u4f5c\u308d\u3046\u3068\u601d\u3044\u307e\u3059\uff01<br \/>\n\u307e\u3042\u3001\u300c\u30e9\u30ba\u30d1\u30a4\u3067\u904a\u3076\u300d\uff06\u300c\u76e3\u8996\u30ab\u30e1\u30e9\u3092\u4f5c\u308b\u300d\u3057\u304b\u6c7a\u307e\u3063\u3066\u306a\u3044\u306e\u3067<br \/>\n\u3068\u308a\u3042\u3048\u305a\u3001<span style=\"font-size: 14pt;\"><strong>\u9069\u5f53\u306b\u3084\u308b\u304b<\/strong><span style=\"font-size: 12pt;\">\u3068\u3044\u3046\u3053\u3068\u3067<\/span><\/span><\/p>\n<hr \/>\n<p><strong>\u76e3\u8996\u30ab\u30e1\u30e9\u3068\u8a00\u3063\u305f\u3089\u3068\u308a\u3042\u3048\u305a<\/strong><br \/>\n\u30ab\u30e1\u30e9\u3092\u4f7f\u3063\u3066\u6620\u50cf\u3092\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u306b\u8868\u793a\u51fa\u6765\u308b\u3088\u3046\u306b\u3059\u308c\u3070\u3044\u3044\u306e\u3067<br \/>\nPython\u306eOpenCV\u3092\u5229\u7528\u3057\u3066\u2193\u306e\u3088\u3046\u306bWeb\u30ab\u30e1\u30e9\u3092\u5229\u7528\u3057\u3066\u8868\u793a\u3057\u305f\uff01<\/p>\n[code lang=&#8221;python&#8221;]\nimport cv2<\/p>\n<p>capture = cv2.VideoCapture(0)<\/p>\n<p style=\"padding-left: 40px;\">while(True) :<br \/>\nret, flame = capture.read()<br \/>\ncv2.imshow(&#8216;Raw Flame&#8217;, flame)<\/p>\n<p style=\"padding-left: 40px;\">k = cv2.waitKey(1)<strong><br \/>\n<\/strong>if k == 27 : #esc\u3092\u62bc\u3059\u3068\u7d42\u4e86<\/p>\n<p style=\"padding-left: 80px;\">break<\/p>\n<p>capture.release()<br \/>\ncv2.destroyAllWindows()<br \/>\n[\/code]\n<p>\u3068\u308a\u3042\u3048\u305a\u3001\u3053\u308c\u3092\u4f7f\u3048\u3070web\u30ab\u30e1\u30e9\u304b\u3089\u306e\u6620\u50cf\u304c\u898b\u308c\u307e\u3059\uff01<br \/>\n<span style=\"font-size: 14pt; color: #ff0000;\">\u300c\u76e3\u8996\u30ab\u30e1\u30e9\u306e\u6620\u50cf\u3092\u898b\u308b\u300d<\/span>\u3068\u3044\u3046\u306e\u306b\u306f\u3001\u6210\u529f\u3057\u305f\u306e\u3067<br \/>\n\u6b21\u306e\u6bb5\u968e\u3078<\/p>\n<hr \/>\n<p><strong>\u3067\u306f\u3001\u30e9\u30ba\u30d1\u30a4\u3067\u6620\u50cf\u3092\u3069\u3046\u3084\u3063\u3066\u9001\u308b\u304b&#8230;<\/strong><br \/>\n\u3084\u3063\u3071\u308a\u3001\u76e3\u8996\u30ab\u30e1\u30e9\u306f\u9060\u9694\u3067\u898b\u305f\u3044\u3058\u3083\u306a\u3044\u3067\u3059\u304b\uff01<br \/>\n\u3068\u3044\u3046\u3053\u3068\u3067\u3001\u79c1\u304c\u8003\u3048\u305f\u65b9\u6cd5\u306f\u3001<strong><span style=\"font-size: 14pt;\">\u4f55\u304b\u3057\u3089\u304c\u52d5\u3044\u305f\u3089\u5199\u771f\u3092\u64ae\u308a<\/span><\/strong>\u3001\u305d\u308c\u3092\u30cd\u30c3\u30c8\u306e\u306a\u3093\u304b\u3067\u30a2\u30c3\u30d7\u3059\u308b\u3068\u3044\u3046\u65b9\u6cd5\u3067\u3059\uff01<\/p>\n<p>\u3067\u306f\u3001\u4eca\u5ea6\u306fWeb\u30ab\u30e1\u30e9\u3067\u5199\u771f\u3092\u64ae\u308b\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u4f5c\u6210\u3057\u3088\u3046\uff01<br \/>\n[code lang=&#8221;python&#8221;]\nimport cv2<\/p>\n<p>cam = cv2.VideoCapture(0)<br \/>\nimg = cam.read()[1]\ncv2.imwrite(&#8220;sample.jpg&#8221;, img)<\/p>\n<p>cam.release()<br \/>\n[\/code]\n<p>\u2193\u306e\u3088\u3046\u306b\u64ae\u308c\u307e\u3057\u305f\uff01<br \/>\n<a href=\"https:\/\/notitia.i.ryukoku.ac.jp\/wp-content\/uploads\/2019\/05\/sample.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-2571\" src=\"https:\/\/notitia.i.ryukoku.ac.jp\/wp-content\/uploads\/2019\/05\/sample-300x225.jpg\" alt=\"\" width=\"300\" height=\"225\" srcset=\"https:\/\/notitia.i.ryukoku.ac.jp\/wp-content\/uploads\/2019\/05\/sample-300x225.jpg 300w, https:\/\/notitia.i.ryukoku.ac.jp\/wp-content\/uploads\/2019\/05\/sample-520x390.jpg 520w, https:\/\/notitia.i.ryukoku.ac.jp\/wp-content\/uploads\/2019\/05\/sample-360x270.jpg 360w, https:\/\/notitia.i.ryukoku.ac.jp\/wp-content\/uploads\/2019\/05\/sample-250x188.jpg 250w, https:\/\/notitia.i.ryukoku.ac.jp\/wp-content\/uploads\/2019\/05\/sample-100x75.jpg 100w, https:\/\/notitia.i.ryukoku.ac.jp\/wp-content\/uploads\/2019\/05\/sample.jpg 640w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<hr \/>\n<p><strong>\u4f55\u304b\u3057\u3089\u52d5\u3044\u305f\u3089\u3069\u3046\u3057\u3066\u53cd\u5fdc\u3055\u305b\u308b\u304b<\/strong><\/p>\n<p><span style=\"color: #ff0000; font-size: 14pt;\">\u300c\u30d5\u30ec\u30fc\u30e0\u5dee\u5206\u6cd5\u300d<\/span>\u3068\u3044\u3046\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u3092\u4f7f\u3063\u3066\u64ae\u5f71\u3055\u305b\u3088\u3046\uff01<br \/>\n\u8a73\u3057\u304f\u306f<a href=\"https:\/\/algorithm.joho.info\/image-processing\/frame-difference-method\/\"><span style=\"font-size: 14pt;\">\u3053\u3061\u3089<\/span><\/a><\/p>\n<p>\u3093\u3067\u3001\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u3092\u3069\u3046\u305e<\/p>\n[code lang=&#8221;python&#8221;]\nimport cv2<\/p>\n<p>save_path = &#8220;.\/save_image\/&#8221;<\/p>\n<p>camera = cv2.VideoCapture(0)<\/p>\n<p>img1 = img2 = img3 = get_image(camera)<\/p>\n<p>th = 300<br \/>\nn = 1<\/p>\n<p>while True :<\/p>\n<p style=\"padding-left: 40px;\">if cv2.waitKey(1) == 27 :<\/p>\n<p style=\"padding-left: 80px;\">break<\/p>\n<p style=\"padding-left: 40px;\">diff = check_image(img1, img2, img3)<\/p>\n<p style=\"padding-left: 40px;\">cnt = cv2.countNonZero(diff)<\/p>\n<p style=\"padding-left: 40px;\">if cnt &gt; th :<\/p>\n<p style=\"padding-left: 80px;\">print(&#8220;taked image&#8221;)<br \/>\ncv2.imshow(&#8216;PUSH ENTER KEY&#8217;, img3)<br \/>\ncv2.imwrite(save_path + str(n) + &#8220;.jpg&#8221;, img3)<br \/>\nn += 1<\/p>\n<p style=\"padding-left: 40px;\">else :<\/p>\n<p style=\"padding-left: 80px;\">cv2.imshow(&#8216;PUSH ENTER KEY&#8217;, img3)<br \/>\nimg1, img2, img3 = (img2, img3, get_image(camera))<\/p>\n<p>camera.release()<br \/>\ncv2.destroyAllWindows()<\/p>\n<p>def get_image(camera) :<\/p>\n<p style=\"padding-left: 40px;\">img = camera.read()[1]\nreturn img<\/p>\n<p>def check_image(img1, img2, img3) :<\/p>\n<p style=\"padding-left: 40px;\">gray1 = cv2.cvtColor(img1, cv2.COLOR_RGB2GRAY)<br \/>\ngray2 = cv2.cvtColor(img2, cv2.COLOR_RGB2GRAY)<br \/>\ngray3 = cv2.cvtColor(img3, cv2.COLOR_RGB2GRAY)<\/p>\n<p style=\"padding-left: 40px;\">diff1 = cv2.absdiff(gray1, gray2)<br \/>\ndiff2 = cv2.absdiff(gray2, gray3)<\/p>\n<p>dif_and = cv2.bitwise_and(diff1, diff2)<\/p>\n<p style=\"padding-left: 40px;\">_, dif_wb = cv2.threshold(dif_and, 30, 255, cv2.THRESH_BINARY)<br \/>\ndiff = cv2.medianBlur(dif_wb, 5)<br \/>\nreturn diff<\/p>\n[\/code]\n<p>\u3053\u308c\u3067\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u5199\u771f\u304c\u64ae\u308c\u307e\u3057\u305f\uff01<br \/>\n<a href=\"https:\/\/notitia.i.ryukoku.ac.jp\/wp-content\/uploads\/2019\/05\/1_3.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-2579\" src=\"https:\/\/notitia.i.ryukoku.ac.jp\/wp-content\/uploads\/2019\/05\/1_3-300x225.jpg\" alt=\"\" width=\"300\" height=\"225\" srcset=\"https:\/\/notitia.i.ryukoku.ac.jp\/wp-content\/uploads\/2019\/05\/1_3-300x225.jpg 300w, https:\/\/notitia.i.ryukoku.ac.jp\/wp-content\/uploads\/2019\/05\/1_3-520x390.jpg 520w, https:\/\/notitia.i.ryukoku.ac.jp\/wp-content\/uploads\/2019\/05\/1_3-360x270.jpg 360w, https:\/\/notitia.i.ryukoku.ac.jp\/wp-content\/uploads\/2019\/05\/1_3-250x188.jpg 250w, https:\/\/notitia.i.ryukoku.ac.jp\/wp-content\/uploads\/2019\/05\/1_3-100x75.jpg 100w, https:\/\/notitia.i.ryukoku.ac.jp\/wp-content\/uploads\/2019\/05\/1_3.jpg 640w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a> <a href=\"https:\/\/notitia.i.ryukoku.ac.jp\/wp-content\/uploads\/2019\/05\/1_1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-2578\" src=\"https:\/\/notitia.i.ryukoku.ac.jp\/wp-content\/uploads\/2019\/05\/1_1-300x225.jpg\" alt=\"\" width=\"300\" height=\"225\" srcset=\"https:\/\/notitia.i.ryukoku.ac.jp\/wp-content\/uploads\/2019\/05\/1_1-300x225.jpg 300w, https:\/\/notitia.i.ryukoku.ac.jp\/wp-content\/uploads\/2019\/05\/1_1-520x390.jpg 520w, https:\/\/notitia.i.ryukoku.ac.jp\/wp-content\/uploads\/2019\/05\/1_1-360x270.jpg 360w, https:\/\/notitia.i.ryukoku.ac.jp\/wp-content\/uploads\/2019\/05\/1_1-250x188.jpg 250w, https:\/\/notitia.i.ryukoku.ac.jp\/wp-content\/uploads\/2019\/05\/1_1-100x75.jpg 100w, https:\/\/notitia.i.ryukoku.ac.jp\/wp-content\/uploads\/2019\/05\/1_1.jpg 640w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a> <a href=\"https:\/\/notitia.i.ryukoku.ac.jp\/wp-content\/uploads\/2019\/05\/1_2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-2577\" src=\"https:\/\/notitia.i.ryukoku.ac.jp\/wp-content\/uploads\/2019\/05\/1_2-300x225.jpg\" alt=\"\" width=\"300\" height=\"225\" srcset=\"https:\/\/notitia.i.ryukoku.ac.jp\/wp-content\/uploads\/2019\/05\/1_2-300x225.jpg 300w, https:\/\/notitia.i.ryukoku.ac.jp\/wp-content\/uploads\/2019\/05\/1_2-520x390.jpg 520w, https:\/\/notitia.i.ryukoku.ac.jp\/wp-content\/uploads\/2019\/05\/1_2-360x270.jpg 360w, https:\/\/notitia.i.ryukoku.ac.jp\/wp-content\/uploads\/2019\/05\/1_2-250x188.jpg 250w, https:\/\/notitia.i.ryukoku.ac.jp\/wp-content\/uploads\/2019\/05\/1_2-100x75.jpg 100w, https:\/\/notitia.i.ryukoku.ac.jp\/wp-content\/uploads\/2019\/05\/1_2.jpg 640w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\n\u3053\u308c\u3089\u304c3\u679a\u64ae\u308c\u3066<br \/>\n\u3053\u308c\u306e\u5dee\u5206\u3092\u64ae\u3063\u305f\u5199\u771f\u304c\u3053\u308c\u3067\u3059\uff01<br \/>\n<a href=\"https:\/\/notitia.i.ryukoku.ac.jp\/wp-content\/uploads\/2019\/05\/1_diff.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-2576\" src=\"https:\/\/notitia.i.ryukoku.ac.jp\/wp-content\/uploads\/2019\/05\/1_diff-300x225.jpg\" alt=\"\" width=\"300\" height=\"225\" srcset=\"https:\/\/notitia.i.ryukoku.ac.jp\/wp-content\/uploads\/2019\/05\/1_diff-300x225.jpg 300w, https:\/\/notitia.i.ryukoku.ac.jp\/wp-content\/uploads\/2019\/05\/1_diff-520x390.jpg 520w, https:\/\/notitia.i.ryukoku.ac.jp\/wp-content\/uploads\/2019\/05\/1_diff-360x270.jpg 360w, https:\/\/notitia.i.ryukoku.ac.jp\/wp-content\/uploads\/2019\/05\/1_diff-250x188.jpg 250w, https:\/\/notitia.i.ryukoku.ac.jp\/wp-content\/uploads\/2019\/05\/1_diff-100x75.jpg 100w, https:\/\/notitia.i.ryukoku.ac.jp\/wp-content\/uploads\/2019\/05\/1_diff.jpg 640w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>\u5dee\u5206\u3060\u3051\u3067gif\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u308b\u3068\u3053\u3093\u306a\u611f\u3058<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2580 size-full\" src=\"https:\/\/notitia.i.ryukoku.ac.jp\/wp-content\/uploads\/2019\/05\/\u624b\u3092\u632f\u308b.gif\" alt=\"\" width=\"300\" height=\"225\" \/><\/p>\n<hr \/>\n<p><strong>\u3068\u3044\u3063\u305f\u611f\u3058\u3067\u3001\u30e9\u30ba\u30d1\u30a4\u3067\u904a\u3093\u3067\u3044\u307e\u3059\uff01<\/strong><span style=\"font-size: 14pt;\">(\u73fe\u5728\u306e\u9032\u6357\u72b6\u6cc1\u306f\u3053\u3053\u307e\u3067)<\/span><br \/>\n\u30d5\u30ec\u30fc\u30e0\u9593\u5dee\u5206\u6cd5\u3067\u306f\u306a\u304f\u3001\u3053\u308c\u3092<span style=\"font-size: 14pt; color: #ff0000;\">Tensorflow\u306e\u6a5f\u68b0\u5b66\u7fd2\u3067\u8a8d\u8b58\u3055\u305b\u305f\u3044<\/span>\u306e\u3067<br \/>\n\u3053\u308c\u304b\u3089\u3082<span style=\"color: #0000ff;\">\u904a\u3073\u305f\u3044\u3068\u601d\u3044\u307e\u3059\uff01<\/span><br \/>\n\u4ee5\u4e0a\uff01<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"\u3069\u3082\u30fc\u3001\u305f\u306a\u304b\u3067\u3059\uff01 \u305f\u306a\u304b\u300c\u306a\u3093\u304b\u5510\u7a81\u306bRaspberry Pi\u3067\u904a\u3073\u305f\u3044\uff01\u300d \u3068\u8a00\u3063\u305f\u308f\u3051\u3067\u3001Raspberry Pi\u3067\u76e3\u8996\u30ab\u30e1\u30e9\u3092\u4f5c\u308d\u3046\u3068\u601d\u3044\u307e\u3059\uff01 \u307e\u3042\u3001\u300c\u30e9\u30ba\u30d1\u30a4\u3067\u904a\u3076\u300d\uff06\u300c\u76e3\u8996\u30ab\u30e1\u30e9\u3092\u4f5c\u308b\u300d\u3057\u304b\u6c7a\u307e\u3063\u3066\u306a\u3044\u306e\u3067 \u3068\u308a\u3042\u3048\u305a\u3001\u9069\u5f53\u306b\u3084\u308b\u304b\u3068\u3044\u3046\u3053\u3068\u3067 \u76e3\u8996\u30ab\u30e1\u30e9\u3068\u8a00\u3063\u305f\u3089\u3068\u308a\u3042\u3048\u305a \u30ab\u30e1\u30e9\u3092\u4f7f\u3063\u3066\u6620\u50cf\u3092\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u306b\u8868\u793a\u51fa\u6765\u308b\u3088\u3046\u306b\u3059\u308c\u3070\u3044\u3044\u306e\u3067 Python\u306eOpenCV\u3092\u5229\u7528\u3057\u3066\u2193\u306e\u3088\u3046\u306bWeb\u30ab\u30e1\u30e9\u3092\u5229\u7528\u3057\u3066\u8868\u793a\u3057\u305f\uff01 [code lang=&#8221;python&#8221;] import cv2 capture = cv2.VideoCapture(0) while(&hellip;","protected":false},"author":20,"featured_media":2580,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[24],"tags":[142,141,76,48,140,95,139],"class_list":["post-2588","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-24","tag-opencv","tag-python","tag-raspberry-pi","tag-raspberrypi","tag-140","tag-95","tag-139"],"_links":{"self":[{"href":"https:\/\/notitia.i.ryukoku.ac.jp\/index.php?rest_route=\/wp\/v2\/posts\/2588","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/notitia.i.ryukoku.ac.jp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/notitia.i.ryukoku.ac.jp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/notitia.i.ryukoku.ac.jp\/index.php?rest_route=\/wp\/v2\/users\/20"}],"replies":[{"embeddable":true,"href":"https:\/\/notitia.i.ryukoku.ac.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2588"}],"version-history":[{"count":2,"href":"https:\/\/notitia.i.ryukoku.ac.jp\/index.php?rest_route=\/wp\/v2\/posts\/2588\/revisions"}],"predecessor-version":[{"id":2590,"href":"https:\/\/notitia.i.ryukoku.ac.jp\/index.php?rest_route=\/wp\/v2\/posts\/2588\/revisions\/2590"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/notitia.i.ryukoku.ac.jp\/index.php?rest_route=\/wp\/v2\/media\/2580"}],"wp:attachment":[{"href":"https:\/\/notitia.i.ryukoku.ac.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2588"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/notitia.i.ryukoku.ac.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2588"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/notitia.i.ryukoku.ac.jp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2588"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}