Detection)について扱っていきます。エッジ検出とは画像から端の枠線を取り出す手法です。ここではその代表的な手法であるCannyエッジ検出を扱います。閾値化でエッジを検出するという流れです。OpenCVを使えばこれらを一度の処理で行えます。エッジ検出を行っていきましょう。最後にスポンサーリンクCannyエッジ検出エッジ検出のCanny法はCanny()で処理は簡単に行えます。notebookを使って処理をしていきたいと思います。各種ライブラリのインポートです。inlineこれはおきまりのインポート。ここで使う画像を読み込みます。cv2.imread('images/golden-retriever.jpg')plt.imshow(img)imread()で画像を読み込み、imshow()で表示します。カラーは変換していません。グレースケールで読み込んでも良いと思います。Canny()を使ってエッジ検出をしてみます。threshold2=127)plt.imshow(edges)Canny()に画像を渡し、第2、第3引数に閾値を渡します。最小値、最大値の閾値を渡しますが、ここではどちらも0と255の中間である127を設定してみました。imshow()で画像を表示します。閾値を変えて再度処理してみます。threshold2=255)plt.imshow(edges)閾値を0と255の両端の値をここでは使って検出してみます。この閾値の最小値と最大値を調整していけばエッジの表現が変わっていくということになります。そこで、画像の画素データの中央値をnp.median()を使って求めて、そこから閾値を調整してみることにします。med_val))median()を使って中央値を求めます。閾値の下限の値をmax()を使って、0か中央値の70%の値を指定してみます。上限は255か中央値の30%増しの値を指定してみます。threshold2=upper)plt.imshow(edges)先ほど求めたlowerとupperをCanny()に渡しして検出してみます。多少違っているのはわかりますね。境界をはっきりさせるにはもう少し別の処理も加える必要もあるようです。ここで、ぼかし処理も加えてみます。小さなエッジは境界を捉えるのに不要でもあるので、それにはぼかしが役に立ってきます。ぼかし、画面の平滑化についてはこちらで扱いました。【Python】OpenCVで画像のぼかしと平滑化OpenCVを使ってPythonで画像を処理する方法について、ぼかしや平滑化について扱います。filter2D()、blur()、GaussianBlur()、medianBlur()、bilateralFilter()の処理を見て行きます。code-graffiti.com2019.01.11ここではblur()を使ってみます。threshold2=upper)plt.imshow(edges)blur()で使う箱型フィルタのカーネルサイズは5×5にしてみました。このぼかし処理を行った画像をCanny()で処理しています。表示するとこうなります。境界が出てくるようになりました。あとは色々と閾値を操作して最終的なエッジ検出の画像を求めるだけです。カーネルサイズを7×7などにしてみるのもいいでしょう。threshold2=upper+50)plt.imshow(edges)ここではupperの値に50を加えてやってみます。エッジ検出らしくはなったとは思います。扱う画像によって違ってくるので、色々と数字を調整して試してみることが必要ですね。Detection)について扱いました。エッジ検出とは画像から対象の端の枠線を取り出す手法で、その代表的な手法であるCannyエッジ検出をここでは触れました。フィルターや閾値を操作して、目的の検出ができるように色々と試していく必要があります。calcOpticalFlowFarneback()OpenCVを使ったPythonでの画像処理について、Lucas-Kanade法は「疎」の物体追跡の検出でしたが、ここでは逆に密なオプティカルフローの検出アルゴリズムであるcalcOpticalFlowFarneback()を扱います。【Python】osモジュールとファイルシステムの操作MacやUNIXコマンドでターミナルを駆使してファイルやフォルダを作成したり削除したりする操作することができますが、Pythonでもそのような操作をosモジュールなどを使えば、様々なことが可能となっています。【Python】ロギングのフォーマッタで出力レイアウトの指定Pythonのロギングについて、フォーマッタ(formatter)の属性を変更することで出力レイアウトを指定できます。ここではそのフォーマッタの記入の方法を学び、レイアウトの変更とログの出力(LogRecord)の属性の確認をします。【Python】ロギングのフィルタで出力するログ記録をフィルタリングPythonを使ったロギングの機能について、ここではフィルタ(filter)を扱います。ロギングのフィルタは、ログ出力をする時に、どのログ記録を出力するかをきめ細かく設定するフィルタリング機能です。パスワードをログ出力したくない時などに利用します。ROIPythonに画像処理ライブラリのOpenCVを使って、2つの画像を合成したり重ねたりする方法を見ていきたいと思います。addWeighted()での合成や、関心領域(ROI)とbitwise演算を使った合成の方法を見ていきます。【Python】Webスクレイピングの挑戦準備!BeautifulSoupをインストールWebスクレイピングは、インターネットからデータ情報を収集する作業です。PythonでWebスクレイピングするためには、便利なサードパーティライブラリのBeautifulSoupがあります。このBS4のインストールをして行きましょう。notebookの基本的な使い方。notebookの基本的な使い方。f-stringsスポンサーリンクタイトルとURLをコピーしました。