勉強しないとな~blog

ちゃんと勉強せねば…な電気設計エンジニアです。

OpenCVやってみる-21. 特徴点マッチングとHomography

今回もだいたいチュートリアル通りの内容です。 前々回と前回で、違う視点から同じ対象を撮影した2つの画像での点の対応を見つけることができました。 この結果を使って、射影変換の行列を計算し、画像の視点変換をすることができます。これをやってみます。…

OpenCVやってみる-20. 特徴点のマッチング(FLANN)

前回のやり残しで、FLANNでの特徴点マッチングをやります。 OpenCV: Feature Matching 特徴点のマッチング — OpenCV-Python Tutorials 1 documentation 概要 前回のおさらいですが、FLANNはFast Library for Approximate Nearest Neighborの略で、近似的に特…

OpenCVやってみる-19. 特徴点のマッチング

今回は特徴点のマッチングです。 今までにやった特徴点検出、特徴量生成を元に、2つの画像を比較、同じものが写っている点を探す、 というような感じです。 2つの画像というのは、具体的にはステレオカメラで撮影した画像だったり、ウォーリーを探せのウォー…

OpenCVやってみる-18. ORBによる特徴点検出、特徴量記述

前回の予告通り、ORBをやってみます。 OpenCV: ORB (Oriented FAST and Rotated BRIEF) ORB (Oriented FAST and Rotated BRIEF) — OpenCV-Python Tutorials 1 documentation ざっくり紹介、理論 SIFTやSURFは特許を取られていて自由に使えない その代替とし…

OpenCVやってみる-17. BRIEF

今回はBRIEFをやってみます。 OpenCV: BRIEF (Binary Robust Independent Elementary Features) ざっくり理論 BRIEFは画像中の特徴点の特徴量を生成する方式のひとつです。 SIFTやSURFでは、特徴点の特徴量を表すのにそれなりに大きなデータ量(1点あたりSIFT…

OpenCVやってみる-16. FASTアルゴリズムによる特徴点検出

前回の続き、FASTアルゴリズムを試します。 コーナー検出のためのFASTアルゴリズム — OpenCV-Python Tutorials 1 documentation ざっくり理論 画像の各画素について、これを中心として周長16ピクセルになる円周(半径およそ3ピクセル) 上の画素を調べ、決まっ…

OpenCVやってみる-15. SURFによる特徴点検出

前回のSIFTに続いて、今度はSURFでの特徴点検出です。 SURF (Speeded-Up Robust Features)の導入 — OpenCV-Python Tutorials 1 documentation SURFはSIFTに比べて高速化を目指したアルゴリズムとのこと。 発表は2006年になります。特許が取られていて、まだ…

QNAP NAS購入-1

NAS

自分のPCのハードディスク容量がそもそも256GBしかなく、iPhoneで撮った写真(子供の写真)が増えてきたので、NASを買ってみました。 PCデータとiPhone写真のバックアップが目的。 NAS型番、仕様 購入したのはQNAP社のTS-230。 購入の決め手としては、 RAID1構…

OpenCVやってみる-14. SIFTによる特徴点検出

今回はSIFTを扱います。 SIFT (Scale-Invariant Feature Transform)の導入 — OpenCV-Python Tutorials 1 documentation SIFTは、2004年にブリティッシュコロンビア大学のD.Loweが発表したもので、 キーポイントの検出、特徴量の計算を行うアルゴリズムとのこ…

OpenCVやってみる-13. Harrisコーナー検出

今回はHarrisコーナー検出をやります。 今更ですが、チュートリアルサイトの順番通りでなく、多少飛ばしている部分もあります。 Harrisコーナー検出 — OpenCV-Python Tutorials 1 documentation Harrisコーナー検出 理論はチュートリアルサイトに書いてある…

OpenCVやってみる-12. ハフ変換(円検出)

どんどん続きを進めます。 次はハフ変換による円検出。 ハフ変換による円検出 — OpenCV-Python Tutorials 1 documentation ハフ変換による円検出 円上の点は、以下の式を満たします。 直線検出のときと同様、この式のパラメータ()の空間に、 その円上に乗っ…

OpenCVやってみる-11. ハフ変換

今回はハフ変換をやってみます。 ハフ変換による直線検出 — OpenCV-Python Tutorials 1 documentation ハフ変換 ハフ変換は2値画像を直線のパラメータ空間に持っていくような変換、 ということでいいのかな。 空間中の直線は、以下の式で表すことができます…

OpenCVやってみる-10. テンプレートマッチング

かなり時間が空いてしまいました… 引き続きOpenCVのチュートリアルをやっていきたいと思います。 今回はテンプレートマッチングをやろうかと。 春のパン祭りシール点数集計的には結構使えそうな内容です。 テンプレートマッチング — OpenCV-Python Tutorials…

OpenCVやってみる-9. 輪郭検出

OpenCVチュートリアルの続きです。 OpenCVにおける輪郭(領域) — OpenCV-Python Tutorials 1 documentation とりあえず輪郭検出、表示 cv2.findContours()関数で、輪郭を検出することができます。 詳細はともかく、やってみます。 2値画像に対しての処理とな…

OpenCVやってみる-8. エッジ検出

OpenCVのチュートリアル通りに進めます。 今回の内容はシール点数集計に役立ちそうです。 画像の勾配 — OpenCV-Python Tutorials 1 documentation Canny法によるエッジ検出 — OpenCV-Python Tutorials 1 documentation Sobelフィルタ、Laplacianフィルタ Sob…

OpenCVやってみる-7. モルフォロジー変換

今回は、チュートリアル通り、モルフォロジー変換です。 モルフォロジー変換 — OpenCV-Python Tutorials 1 documentation モルフォロジー? モルフォロジー(morphology)とは、 「一般に、形態、構造をいう。」 モルフォロジーとは - コトバンク だそうです。…

OpenCVやってみる-6. 画像の平滑化

前回の続きをやっていきます。 チュートリアルのタイトルは「画像の平滑化」で、内容としては画像にフィルタをかけて平滑化する、というものになります。 画像の平滑化 — OpenCV-Python Tutorials 1 documentation ターゲット画像 前回と同じ画像を使います…

OpenCVやってみる-5. 2値化

画像の2値化(閾値処理)をやってみます。 ヒストグラムも表示してみます。 ヒストグラム 2値化するのに、まずどんな閾値を設定すればいいのか見るために、ヒストグラムを表示してみます。 今回は、以下の2つの画像を使います。 2020年と2021年の春のパン祭り…

OpenCVやってみる-4. 射影変換

今回は、画像の射影変換をやってみたいと思います。 射影変換 春のパン祭り得点集計では、射影変換が活用できそうなのでやってみます。 射影変換が何をやっているかは前に勉強していたのですが、完全に忘れた… また復習して記事にします。 ひとまず、ある視…

OpenCVやってみる-3. 色々いじる

今回は、画像に色々手を加えてみたいと思います。 参考 : OpenCV-Pythonチュートリアル — OpenCV-Python Tutorials 1 documentation Python OpenCVの基礎 resieで画像サイズを変えてみる - Pythonの学習の過程とか 画像切り出し シール1枚分の領域を切り出し…

OpenCVやってみる-2. 画像表示

OpenCVやってみるの続きです。 やってみたいこと ヤマザキ春のパン祭りのシールを集めています。 このシール点数集計がいいネタになるのではと。 OpenCVチュートリアル OpenCVのチュートリアルを一度ざっと読んでみたので、これを元に春のパン祭り点数集計を…

OpenCVやってみる-1

画像処理の勉強のために、OpenCVを使ってみたいと思っています。 色々やってみようと思います。 まず環境 Anaconda + python + OpenCVという組み合わせでやろうと思います。 参考にしたサイト。 Anaconda のインストール: Python環境構築ガイド - python.jp …

マイコンと加速度センサでタコメータを作る - 15. メータモード実装

また時間が空いてしまいましたが、続きです。 一応今回で完成になります。 実際にバイクに載せて動かして、動画も撮ってみました。 ※音入ってます。 うまくいったかというと、微妙なところ… GitHubリポジトリです。 GitHub - hubnoki/RXtacho: Designing tac…

マイコンと加速度センサでタコメータを作る - 14. メータモード実装

回転数計算処理 回転数測定のスペックをちゃんと考えてみると、思ったより刻みが粗かった(187.5[rpm]で64ステップ程度)ので、ちょっと検討してみます。 実データ確認 FFTのグラフで、ピーク前後のスペクトルを使ったりでなんとか周波数をより細かく出せない…

マイコンと加速度センサでタコメータを作る - 13. メータモード実装

前回の続きです。 回転数計算処理 加速度の測定を行って、最終的には回転数をLCDに表示します。 手順は、 バッファに加速度データをためる バッファを2つ用意し、片方では測定データの書き込みを行う、もう一方では測定データの読み出し、FFTを行うというよ…

マイコンと加速度センサでタコメータを作る - 12. メータモード実装

早くRXタコメータを仕上げたい事情が出てきたので、まだ評価作業に微妙なところはありますが、タコメータとして動かせるように機能を実装したいと思います。 タコメータ機能 基本的には、現在の回転数[rpm]を液晶に数字で表示したいと思います。 本当に単純…

マイコンと加速度センサでタコメータを作る - 11. 加速度ログ取得変更

前回、大まかに加速度センサの測定間隔を見ることができたので、今度は加速度ログにこの測定間隔を追加、これを使って結果の解析をできるようにしたいと思います。 加速度ログの変更 加速度ログの中に、ある程度の頻度で割り込み間隔測定値を混ぜます。あま…

マイコンと加速度センサでタコメータを作る - 10. 加速度ログ取得変更

RXタコメータの続きです。 加速度ログに、加速度センサからの割り込み間隔を追加するようにしていきたいと思います。 方針 まずはPCを使いながら、加速度センサの割り込み発生間隔を調べてみたいと思います。 その結果を見て、加速度ログや実際の回転数推定…

QCQI Excercise 4.6

量子コンピュータの勉強もしてみています。 教材はこれ。 www.cambridge.org 練習問題も入っていて、ネットで回答例も出ているのですが、Excercise 4.6の回答が見当たらなかったのでここで晒してみます。 回答の方針としては、「ブロッホ球上でn軸中心にΘ回…

マイコンと加速度センサでタコメータを作る - 9. 加速度ログ取得変更

前回の記事の続きです。 RXマイコンでの時間計測の仕組みを説明していきます。 ↓ソースコード GitHub - hubnoki/RXtacho: Designing tachometer using RX220 時間計測処理 RXマイコンのタイマモジュールを使って時間計測をする仕組みを用意しています。これ…