Takuya Miyashita
This site
Web
Start:
*Python演習問題:画像処理 [#o7336314]
***インポート・エイリアス設定 [#eddf0ea4]
この演習ではOpenCVに頼る.
#codeprettify(lang-python){{
import cv2
import numpy as np
import matplotlib.pyplot as plt
}}
***問題 [#ec11980f]
+下の画像ファイル"hydrangea.jpg"を読み込み,表示しなさい.
#codeprettify(lang-python){{
imgorg = cv2.imread(filename)
cv2.imshow # or
plt.imshow
}}
+元画像をHSV変換し,アジサイの花の色に近い部分だけを抜き...
#codeprettify(lang-python){{
cv2.GaussianBlur(imgorg, (X, X), X)
imghsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
cv2.inRange
cv2.bitwise_and
cv2.bitwise_not
cv2.add
}}
+上記の閾値処理をした画像をもとに,アジサイの花の輪郭をグ...
#codeprettify(lang-python){{
cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.threshold(img_grayed, XX, XX, cv2.THRESH_BINARY)
cv2.threshold(img_grayed, XX, XX, cv2.THRESH_BINARY_INV)
}}
+アジサイの輪郭を検出し,元画像の上に線を引いて示しなさい...
閾値にもよるが,findContoursは下記のどれかを試して良いの...
#codeprettify(lang-python){{
cv2.findContours(..., cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX...
cv2.findContours(..., cv2.RETR_TREE, cv2.CHAIN_APPROX_SIM...
cv2.findContours(..., cv2.RETR_LIST, cv2.CHAIN_APPROX_SIM...
cv2.findContours(..., cv2.RETR_CCOMP, cv2.CHAIN_APPROX_SI...
cv2.drawContoors(img, contour_line, XX, (B, G, R), XX)
}}
+コンターのほか,アジサイを検出し円形や矩形で囲みなさい.
#codeprettify(lang-python){{
cv2.boundingrect(XX)
cv2.rectangle(img, XX, XX, ...)
cv2.minEnclosingCircle(c)
cv2.circle(img, XX, XX, ...)
}}
***データ [#u8b1bd9d]
演習用のアジサイの画像.撮影者には許可をいただいた.
#ref(https://main-t-miyashita.ssl-lolipop.jp/hydrocoast/i...
三室戸寺(宇治市) 2017年7月
***解答例(参考) [#h3ae7966]
閾値のキャリブレーションに時間を要した.~
手前の大きい2つを検出できた時点で満足.~
&ref(https://main-t-miyashita.ssl-lolipop.jp/hydrocoast/i...
&ref(https://main-t-miyashita.ssl-lolipop.jp/hydrocoast/i...
&ref(https://main-t-miyashita.ssl-lolipop.jp/hydrocoast/i...
***参考資料 [#e10975dc]
-[[OpenCV Python Tutorials>http://labs.eecs.tottori-u.ac....
-[[Qiita 機械学習のためのOpenCV入門>https://qiita.com/ico...
-[[画像処理入門講座 : OpenCVとPythonで始める画像処理>http...
End:
*Python演習問題:画像処理 [#o7336314]
***インポート・エイリアス設定 [#eddf0ea4]
この演習ではOpenCVに頼る.
#codeprettify(lang-python){{
import cv2
import numpy as np
import matplotlib.pyplot as plt
}}
***問題 [#ec11980f]
+下の画像ファイル"hydrangea.jpg"を読み込み,表示しなさい.
#codeprettify(lang-python){{
imgorg = cv2.imread(filename)
cv2.imshow # or
plt.imshow
}}
+元画像をHSV変換し,アジサイの花の色に近い部分だけを抜き...
#codeprettify(lang-python){{
cv2.GaussianBlur(imgorg, (X, X), X)
imghsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
cv2.inRange
cv2.bitwise_and
cv2.bitwise_not
cv2.add
}}
+上記の閾値処理をした画像をもとに,アジサイの花の輪郭をグ...
#codeprettify(lang-python){{
cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.threshold(img_grayed, XX, XX, cv2.THRESH_BINARY)
cv2.threshold(img_grayed, XX, XX, cv2.THRESH_BINARY_INV)
}}
+アジサイの輪郭を検出し,元画像の上に線を引いて示しなさい...
閾値にもよるが,findContoursは下記のどれかを試して良いの...
#codeprettify(lang-python){{
cv2.findContours(..., cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX...
cv2.findContours(..., cv2.RETR_TREE, cv2.CHAIN_APPROX_SIM...
cv2.findContours(..., cv2.RETR_LIST, cv2.CHAIN_APPROX_SIM...
cv2.findContours(..., cv2.RETR_CCOMP, cv2.CHAIN_APPROX_SI...
cv2.drawContoors(img, contour_line, XX, (B, G, R), XX)
}}
+コンターのほか,アジサイを検出し円形や矩形で囲みなさい.
#codeprettify(lang-python){{
cv2.boundingrect(XX)
cv2.rectangle(img, XX, XX, ...)
cv2.minEnclosingCircle(c)
cv2.circle(img, XX, XX, ...)
}}
***データ [#u8b1bd9d]
演習用のアジサイの画像.撮影者には許可をいただいた.
#ref(https://main-t-miyashita.ssl-lolipop.jp/hydrocoast/i...
三室戸寺(宇治市) 2017年7月
***解答例(参考) [#h3ae7966]
閾値のキャリブレーションに時間を要した.~
手前の大きい2つを検出できた時点で満足.~
&ref(https://main-t-miyashita.ssl-lolipop.jp/hydrocoast/i...
&ref(https://main-t-miyashita.ssl-lolipop.jp/hydrocoast/i...
&ref(https://main-t-miyashita.ssl-lolipop.jp/hydrocoast/i...
***参考資料 [#e10975dc]
-[[OpenCV Python Tutorials>http://labs.eecs.tottori-u.ac....
-[[Qiita 機械学習のためのOpenCV入門>https://qiita.com/ico...
-[[画像処理入門講座 : OpenCVとPythonで始める画像処理>http...
Page:
Edit with a page name which already exists