画像処理

SfMで作成された巨大な点群の鳥瞰視点画像を作成する

車載のセンサーの観測情報つかってSfMをおこない環境地図を作成することがある。 この環境地図はかなり大きいサイズになり、点群は専用のViewerが必要になるため、他の人に気軽に共有して見てもらうみたいなことができないのが面倒だと思っている。 ここでは…

OpenCVの魚眼カメラの表現を図解する

OpenCVは魚眼カメラの投影モデルは以下のページの「Detailed Description」で説明されている。 OpenCV: Fisheye camera model個人的には図がないとピンとこないので、図解してみつつ何をやっているのかを確認した。 図計算の流れは上記の図の右から左に向か…

MVTecADのデータをPyTorchから利用するためのデータセットクラスを開発した

MVTecADという製品検査における異常検知用のデータが公開されている。それほど扱うのが難しいデータではないが、かといってデータセットクラスの実装にはそれなりに時間がかかる。 ということでこのデータを扱うためのPyTorchのDatasetクラスを開発して公開…

Mean-shit法による画像のセグメンテーションについて勉強

Mean-shit法による画像のセグメンテーションについて勉強 以下のMean-shiftの解説資料で勉強をおこなった。 ミーンシフトの原理と応用 , 岡田和典, 平成21年 Mean-shiftはどんな手法か? クラスタ数を予め決めない方法 ノンパラメトリック。何かしらの分布を…

複数画像の位置合わせによって白飛びを緩和する方法の検討

概要 光沢のある物体を撮影すると、光の反射によって一部の領域が白潰れしてしまうことがある。 撮影位置をずらしたり様々な対処法はあるが、ここでは微妙に撮影角度を変えて撮影した複数画像を使って対処する方法を考えたので共有したい。まず扱う問題は以…

Snakeによる輪郭抽出を実装してみた

以下の本を読み始めた。 opluse.shop-pro.jp 第一章の動的輪郭モデルに関する話の冒頭で代表的な方法であるSnakeがでてきた。 アルゴリズムの説明があり、シンプルだったので自分で実装してみた。 こんな感じで動いた。 m570の動的輪郭追跡(gamma=0.7) gam…

OpenCVを使って点線を含めた縦棒を画像から削除する

以下のような画像から数字や横棒を残しつつ点線を削除したい。 方法はいくつか考えられるが、 一番最初に思いついたのはハフ変換を使って直線検出し、検出された線を画像から削除するという方法だった。 ただやってみると気づくのだが、検出された線の太さが…

OpenCVでconvexHullで穴埋めされた領域を取り出す

概要 Opencvで輪郭を取得して、更に凸包領域を取り出すのはとても簡単にできる。 以下の公式のとおりである。 領域(輪郭)の特徴 — OpenCV-Python Tutorials 1 documentation ところで、この凸包領域と元の輪郭の間にある凹み領域を入手したくなったので、入…

機械学習でサイコロの目をカウントするモデルを作成する

最近機械学習が楽しい。時代の波に乗っているものというのは遊んでも仕事に使っても楽しいものだ。 先日サイコロをOpenCVでカウントするプログラムを作ってみたが、これを機械学習で実現してみたいと思ったのでやってみる。 kyudy.hatenablog.com 機械学習…

OpenCVでサイコロのでた目の数をカウントする

概要 OpenCVでサイコロのでた目の数をカウントしたくなった。 ボードゲームを少し電子化してよりゲームを面白くするために使いたいと思っている。 実装 条件 サイコロを上から見る場合に限定して実装する。(立体的にみてどの面が上になるのかを判定するのが…

OpenCVとWebカメラで動画像処理を始める。

やりたいこと ビリヤードのテーブル上のたまの動きを撮影して、自動的にスコアをつけたり、あとで試合の運びを確認できるようにしたい。 そのために、opencvで動画を解析するのが今回の目的。 * 動作環境: Ubuntu 14.04.2 LTS * Webカメラ: logicool c920t…