OpenCV tutorial 〜フーリエ変換など〜

イントロダクション

以下の記事にて、OpenCVチュートリアルをやってきたのと、この先のチュートリアルを眺めてみたところ、ネックになっている「数式の理解」部分は難しいと判断しました。なので。。。

Java OpenCv Lv1 〜入門: 写真の表示〜
Java OpenCV Lv2 〜JavaFXでの画像表示〜
Java OpenCV Lv2 〜画像を表示する〜
Java OpenCV Lv3 〜画像の平滑化(smooth())〜
Java OpenCV Lv3 〜画像にガウシアンフィルタ(GaussianBlur())〜
Java OpenCV Lv3 〜画像に中央値フィルタ(medianBlur())〜
Java OpenCV Lv4 〜画像の中身をみてみる〜
Java OpenCV Lv5 〜Matクラスで描画処理〜
Java OpenCV Lv7 〜MatクラスでEllipseしてみる〜
Java OpenCV Lv8 〜ROIについて〜
Java OpenCV Lv9 〜画像編集「足し算」(cvAdd)〜
Java OpenCV Lv9 〜画像編集「引き算」(cvSubtract)〜
Java OpenCV Lv9 〜画像の掛け算〜
Java OpenCV Lv10 〜行列演算Mat#submat()〜
Java OpenCv Lv10〜画像の平均輝度をだす〜
Java OpenCv ビデオキャプチャ〜カメラからの入力を表示〜
OpenCV tutorial〜ヒストグラム〜
OpenCV tutorial 解析 〜ヒストグラム〜

現在(2020-11-11)ではAndroidアプリでOpenCVを動かす方向で実装しています。
Android OpenCV 〜サンプルアプリを動かす〜

アプローチ方法をちょっと変えます。

今までは、チュートリアルにあるコードを実行してみるという手法で学習を進めていましたが。。。
とりあえず、写経(コピペしました(笑))してチュートリアルを起動する。

そして、そのアプリをカスタムして行く方向に切り替えます。

その御誂え向きなチュートリアルがこちらです。

「フーリエ変換」をやるチュートリアルになっていますが、こいつをカスタムして読み込んだイメージファイルをいろんな風に変換できるように修正しようと考えています。

とりあえずはアプリを起動してみました。※PNGではないイメージファイル

PNGファイルを選択した場合の動画

とりあえずは、準備ができた状態です。ここからどのようにカスタムして行くか?これが課題になりそうです。

結局はわからなかった

画像ファイル編集とか、部分的に学習を進めてきましたが、そうではなく、チュートリアルにある内容を1つずつ理解していく必要がありました。
なんか学生位の頃に「わからないときは戻って学習し直す」というところが懐かしく感じます。

ポイントは。。。

実行したメソッドの意味がわかれば、何をやっているのか理論的にも理解できそうです。

例えば、輪郭の取得に関して輪郭を描画するための頂点座標のリストを取得しますが、このリストが示す座標(値)の意味がわかればOpenCVの理解が深まりそうです。

自分は少し分かってきたような感じがしています。
Androidタブレットを使用してOpenCVで取得した輪郭内を赤く塗りつぶしてみました。



投稿者:

takunoji

音響、イベント会場設営業界からIT業界へ転身。現在はJava屋としてサラリーマンをやっている。自称ガテン系プログラマー(笑) Javaプログラミングを布教したい、ラスパイとJavaの相性が良いことに気が付く。 Spring framework, Struts, Seaser, Hibernate, Playframework, JavaEE6, JavaEE7などの現場経験あり。 SQL, VBA, PL/SQL, コマンドプロント, Shellなどもやります。

コメントを残す