勉強しないとな~blog

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

DTMやってみたい - 1. やりたいこと

時間が空いちゃいましたが、ブログ更新しておこう。 やりたいこと 前のテーマが終わったので次何しようかと。 で、DTMやりたいなと。 エレクトーンやってます(就職してから始めたのでそんなぐらいのレベル(´・ω・`)、今は時間が取れてなくてやってない)が、…

OpenCVやってみる - 45. 高速化処理で再確認(最終回のはず)

今回は、前回高速化した処理で、PCカメラ画像のリアルタイム処理をやってみます。 今度こそ最終回! 準備 修正したスクリプトの読み込み、テンプレートデータとSVMデータの読み込み。 from harupan_data.harupan import * svm = load_svm('harupan_data/haru…

OpenCVやってみる - 44. 処理の調整5(高速化)

春のパン祭り点数集計、前回で最後のつもりでしたが、1つ高速化の手段を思いついたので、もうちょっとがんばります。 変更内容 下準備 スクリプト読み込み テンプレートデータ、SVMデータ読み込み 処理変更 変更処理試し 処理時間計測 いざ実施 探索範囲を変…

OpenCVやってみる - 43. 仕上げ(最終回)

今回は、春のパン祭りのシール点数集計の仕上げになるかと。 リアルタイム処理作成 PCのカメラ画像を連続的に取得して、点数集計を実施します。 今年は現状3枚の春のパン祭り台紙が用意できているので、これで確認します。 下準備 スクリプト読み込み テンプ…

OpenCVやってみる - 42. 処理の調整4

まだ春のパン祭りの続きですが、1点だけ処理の調整を試したいと思います。 -- 追記 -- 今までmarkdown記法でブログを書いていると、ときどき画像がうまく表示されない(半角スペース4つのブロックの後に画像が表示されない)問題があって、前にはてなブログさ…

OpenCVやってみる - 41. 処理の調整3

春のパン祭りシールの点数文字認識処理は、これ以上調整はなしにしようと思っていましたが、もう少しがんばってみます。 方針 前回の結果で、問題点の1つは シールの白抜き部分(点数文字が含まれる)の間隔が小さく、輪郭がつながってしまう ということだった…

OpenCVやってみる - 40. カメラ画像取得

春のパン祭り点数集計も仕上げの段階ですが、今回はPCのカメラ画像を取得できるようにしたいと思います。 カメラから画像取得 OpenCVチュートリアルの最初のほうでやっています。 これを試してみます。 https://docs.opencv.org/4.x/dd/d43/tutorial_py_vide…

OpenCVやってみる - 39. 点数計算処理実装

今回は、点数計算の実アプリケーション作成に向けて、以下の処理を検討します。 画像1枚を受け取ってからの一連の処理 点数計算 処理フロー 点数計算アプリケーションは、ストリーミングされている画像データから、1枚取り出して計算処理を実施・表示、とい…

OpenCVやってみる-38. 処理の調整2

春のパン祭り点数文字認識処理を調整していますが、なかなか完璧にはいかず… 調整は今回までにして、実際のアプリケーションを作っていく方向に進めたいと思います。 今回変更したこと 色々調整していて、以下変更しました。 数字テンプレートとする輪郭デー…

OpenCVやってみる - 37. 処理の調整

春のパン祭り点数計算は前回までの処理でおおよそできるようになりましたが、少し調整していきます。 ICP収束条件 初期変換行列での判定 文章を整える気があまりなく… 以下雑な文章ご容赦で。 下準備 Jupyter notebookを改めて作っているので、始めに必要な…

OpenCVやってみる - 36. SVMで数字判定

前回からの続きです。 Jupyter notebookのデータ等の状態も引き継いでいます。 前回は、春のパン祭りシール台紙の画像から点数数字の輪郭を取得、数字テンプレートと比較して一致度を出して、固定の閾値で判定してみましたが、いまいちきっちりとは判定でき…

OpenCVやってみる - 35. 複数データで点数判定実施

春のパン祭りが始まりましたが、まだ点数自動計算ができず… むずい… 方式変更 前まで検討していた点数判定方法を実際のデータで試したところ、うまくいかず。 特に"5"の文字の判定が困難でした。 経過は省きますが、以下の点を変更しました。 "0"以外での比…

OpenCVやってみる - 34. "0"の文字比較

連続の投稿になりますが、続きです。 2月1日から春のパン祭りスタートらしいので、ペースアップ中です… 今回は前回の記事と同じJupyter notebookでやっているので、画像読み込みなどの下準備は省きます。 楕円近似による"0"の判定 "0"の文字の判定についてで…

OpenCVやってみる - 33. アフィン変換行列推定、"0"以外の文字比較

前回の続きです。 今回は実際に文字テンプレート - 比較対象輪郭間のアフィン変換行列の推定、比較を行ってみたいと思います。 下準備 今まで通りの画像読み込み、下処理です。 import cv2 import numpy as np %matplotlib inline from matplotlib import py…

OpenCVやってみる - 32. 輪郭の変形(考察のみ)

あけましておめでとうございます。 1月も半分以上過ぎてしまいましたが、今年初めての記事です。 今年も引き続き春のパン祭りシール点数集計をやっていきます。 去年の3月から始めて、色々寄り道しながらゆっくり進めてきましたが、 今年の春のパン祭りに間…

OpenCVやってみる- 31. テンプレート画像作成

春のパン祭りシール点数集計の続きです。 前回のおさらい 前回までで、ひとまず点数文字の輪郭が取れるようになりました。 Hue,Saturation情報を使って2値化 階層認識ありで輪郭を検出、最上位階層の1つ下の輪郭を検出 ここから、テンプレートマッチングを使…

OpenCVやってみる- 30. 点数文字輪郭検出3

引き続きの春のパン祭りシール点数集計。 前回の結果再確認 前回の結果をよく見ると、点数文字の輪郭をきちんと取れていない部分がありました。 3つ目の画像で、中央上部の'1'、'2'の輪郭が取れていません。 対応を検討します。 様子チェック まずは問題の画…

OpenCVやってみる- 29. 点数文字輪郭検出2

春のパン祭りシール点数集計の続きです。 今回の内容 前回、春のパン祭り画像から点数文字の輪郭を取得できましたが、まだ1画像でしか試していないので、 他の画像でもやってみます。 関数化 いつも通りの手順ですが、内容が増えてきたので、関数化しておき…

OpenCVやってみる - 28. 点数文字輪郭検出

前回の続きです。 春のパン祭り点数集計を進めていきます。 方針再検討 前回の結果を振り返りつつ、改めて方式を検討します。 前回の状況 Hue画像での2値化から、シール領域の輪郭取得を実施した シールの重なりにより、輪郭どうしがつながってしまっていた …

OpenCVやってみる - 27. シール外形検出

前回の内容 春のパン祭り点数集計で、最初に台紙外形の検出をすることを考えていましたが、どうも難しそうなので諦める方向で。 前に考えた手順は、 台紙外形を取得する 射影変換をするのと、スケーリング(台紙を基準として画像サイズを調整する)に必要 射影…

OpenCVやってみる - 26. 台紙外枠検出その2

前回の続きになります。 おさらい 前回までのおさらいです。 以下のような手順で台紙外形取得を試みました。 Cannyエッジ検出実施 輪郭検出(最外周のみ)実施 面積最大の輪郭を選ぶ 輪郭を単純な多角形で近似、四角形になっていればOK 問題だったのは、 背景…

OpenCVやってみる- 25. 台紙外枠検出

予告通り、春のパン祭り台紙の外枠検出です。 今後は基本的にJupyter notebookで試した後、markdownでダウンロードしてブログに貼り付ける形になると思います。 21.11.22 修正 cv2.drawContour関数の使い方に間違いがありました… 第2引数は輪郭のリストにし…

OpenCVやってみる - 24. Jupyter notebook使ってみた

コマンドプロンプト上でずっとやっているのも大変なので、Jupyter notebookを使ってみました。 見た目もよくなりそう。 Jupyter notebook 使い方 Anacondaをインストールすると、一緒にJupyter notebookが入ってきます。 Windows10環境で使っていますが、検…

OpenCVやってみる - 23. シール点数集計検討

今回はOpenCVネタです。 いままでチュートリアルを追ってきましたが、そろそろ本題の春のパン祭り集計を考えていこうかと。 使えそうな手 今までチュートリアルを見てきた中で、いくつか有用そうなテクニックがありました。 射影変換 台紙を真正面から撮影し…

ZYBOを進める - 28. Petalinux再設定

前回カスタマイズしたFSBLを作ったので、これをPetalinuxプロジェクトで取り込みます。 また、MACアドレス関連の設定もPetalinuxで行います。 さらについでに、ルートファイルシステムをSDカードに設定します。 Petalinux作業 petalinux-configコマンドを実…

ZYBOを進める - 27. VitisでFSBL作成

ZYBOの続きです。 今回は、以前にやったFSBLのカスタマイズを、Vitisツールを使ってやってみたいと思います。 このカスタマイズは、ZYBOのEEPROMに入っているMACアドレスを取得するためのものです。 Vitis使うのは初めてですが、どんな感じなのか。 一応Viti…

OpenCVやってみる-22. エピポーラ幾何

今回は、OpenCVチュートリアルの以下のページを参考に進めてみたいと思います。 OpenCV: Epipolar Geometry エピポーラ幾何の理論はチュートリアルサイトの説明を参照で。 今回のテーマ画像 特徴点検出、特徴量算出 マッチング Fundamental matrix計算 Epipo…

ZYBOを進める - 26. ツールバージョン変更(2020.2)

前回の続きです。 前回はVivadoプロジェクトでのビットストリーム生成まで行いました。今回はこれをPetalinuxプロジェクトに取り込みます。 Petalinuxツールでの手順 Petalinuxプロジェクトの作成 まずはPetalinuxプロジェクトの作成。 入力: petalinux-crea…

ZYBOを進める - 25. ツールバージョン変更(2020.2)

久しぶりにZYBOのほうを進めたいと思います。 内容 前回(既に1年前…)までは VMWare + Ubuntu18.04 Vivado 2017.4 Petalinux 2017.4 の環境を使っていました。 ただ、今回はXilinxツールのVitisも使っていきたいと思っていて、使用するツールバージョンを新し…

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

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