タグ

OpenCVに関するbabydaemonsのブックマーク (12)

  • Pythonで画像の傾きを補正して水平にする - 薬剤師のプログラミング学習日記

    コピー機等でスキャンした画像データをよく見ると、ほんのわずかに傾いているものがあります。Windowsだと標準ソフトのフォトあたりを使うと、スライダーをマウスで動かしながら画像の回転を行うことができますが、角度の最小単位が1度ずつとなっていて微妙な操作は難しそうですし、何十枚もこの作業をするのは面倒です。そこで、今回は画像の傾きを自動で補正するプログラムを書くことにしました。 なお、記事の内容は「数字認識を使って棚卸を自動化するアプリケーションを作る」で行った処理のひとつとなっています。 補正の目的と方法 環境 OpenCVのインストール テンプレートマッチングによるマーカーの位置の検出 テンプレート画像の作成 OpenCVによるテンプレートマッチング 補正する回転角度を求める 画像の回転処理 プログラムの動作を確認する 写真で試してみる 参考 補正の目的と方法 ・目的 Excelで作成

    Pythonで画像の傾きを補正して水平にする - 薬剤師のプログラミング学習日記
    babydaemons
    babydaemons 2022/03/10
    この薬剤師さん、凄いHacker!
  • Visual Studio 2019で色々な3x3フィルタコードを書いて速度を計測してみる rev3 - Qiita

    画面端の処理はいろいろ考えられるが入力と出力の画像サイズを変えないために、ボーダーをコピーする処理とする。まずはセットアップのコード。Mtx1bはMtx_のこと。Mtx_の詳細な説明はココとココを参照。まあ、Mat_を拡張したものでMat1bと同じようなものと考えてもらえばよい。Mtx_など、ユーティリティ的なクラスや関数は、cvx.hやstx.hに実装。ファイルの内容はは最後に記載。 #include <iostream> #include <iomanip> #include <execution> #include <algorithm> #include <amp.h> #include <amp_graphics.h> #include "cvx.h" #include "stx.h" #include "amp_utils.h" using namespace cvx; usi

    Visual Studio 2019で色々な3x3フィルタコードを書いて速度を計測してみる rev3 - Qiita
  • macacon ディープラーニングで白黒動画をカラー化して楽しむOpenCVラッパー -   論理 Hertz Club Band

    以前Youtubeにアップしていた自動彩色の動画に、外国人らしき人から動画作成のチュートリアルを作って欲しいとコメントが付きました。そこで、ラッパーを作成して公開しました。入力動画に対し彩色データを拡大して合わせる定番の処理をしていますので、元動画の解像感は保持されます。 自動彩色 自分の知る限り、ディープラーニングによる自動彩色で実行可能な学習済みモデルを公開したのは、Dahl氏が最初だと思います。 Automatic Colorization そしてこのモデルを元に動画を作成したのがsamin氏で、氏はffmegを使用して動画を作成する方法を公開しています。 forward.py · GitHub Dahl氏のモデルを使用した動画は、多くはこのsamin氏の方法を使用して作成されているようですね。 www.youtube.com 私も、白黒画像を用意してモデルに読み込ませる作業が退屈に

    macacon ディープラーニングで白黒動画をカラー化して楽しむOpenCVラッパー -   論理 Hertz Club Band
  • Raspberry Pi3で自動ノート取り装置を作った - いきるちから

    はじめに 数理情報工学実験第二という演習で、Raspberry Piをつかって何かを作ることになりました。そこでAMATERASUという自動ノート取り装置を作ったので紹介します。 そもそもRaspberry Piって? Raspberry Pi3 Model B ボード&ケースセット (Element14版, Clear)-Physical Computing Lab 出版社/メーカー: TechShareメディア: エレクトロニクスこの商品を含むブログ (3件) を見る これです。安くて小型で色んなセンサーをつけて遊べるコンピュータです。今回はカメラモジュールを使いました。 自動ノート取り装置とは 自動ノート取りの目標は、講義を撮影した動画*1を処理することで、ノートの代わりとして使える画像を出力することです。具体的には次のgifのような画像を次々出力していくのを目標にしています。黒くな

    Raspberry Pi3で自動ノート取り装置を作った - いきるちから
  • opencv.jp - OpenCV: カメラキャリブレーション(Camera Calibration)サンプルコード -

    作成者: 怡土順一, 最終変更者: 怡土順一, 最終変更リビジョン: 470, 最終変更日時: 2009-07-01 14:01:51 +0900 (水, 01 7月 2009) ■ カメラキャリブレーション カメラキャリブレーションとは,(ある時点において)カメラ固有の内部パラメータと, ワールド座標系における位置姿勢を意味する外部パラメータを求める処理である. カメラのキャリブレーションがなされると,ある3次元座標を持った点がカメラ画像のどこに投影されるか, あるいは複数のカメラに投影された点が3次元空間中のどこにあるか,などが計算できる. また,カメラ特有の(円周方向および半径方向)歪みの補正を行うこともでき る(が,これはキャリブレーション手法に依存し,歪みを持たないモデルを利用する単純な手法も存在する). 適応できるキャリブレーション手法は,カメラの台数や用意できる治具によって変

    babydaemons
    babydaemons 2014/02/15
    カメラ撮影画像処理の例
  • http://www.crystal-creation.com/software/technical-information/library/

  • 第1回 画像認識の基本を知ろう | gihyo.jp

    この連載では、この表で言う画像認識技術を主に扱いますが、どの技術も非常に活発に研究されており、様々な分野で実用化されています。 画像認識・理解の基原理 画像認識の基原理 画像認識は、学習のフェーズと認識のフェーズの2つからなります。学習のフェーズでは、コンピュータに認識させたい対象画像を学習させる処理を行い、認識のフェーズではコンピュータに入力画像が学習した対象かどうかを判定させます。 図5 学習と認識の流れ 学習フェーズ 学習のフェーズでは、まず画像になんらかの処理を施して、ピクセルのデータ列から、より学習に適したデータ列(特徴量データ)へと変換を行います。 次に変換されたデータを、機械学習と呼ばれるアプローチを用いてコンピュータに学習させます。機械学習とは、その名の通り人間が行っているような学習の仕組みをコンピュータに持たせるための技術です。例えば人間は、初めて見る人の顔画像でも、

    第1回 画像認識の基本を知ろう | gihyo.jp
  • 10分で学ぶOpenCV超入門

    C言語を勉強した人がOpenCVを始める取っ掛かりとして使ってもらえれば嬉しいです。配列とか関数は分かるけど、ポインタはちょっと・・・というくらいの人から読めるように書いてみました。 OpenCVとは OpenCVとは画像処理で使える関数がたくさん用意されている関数群(フレームワーク)です。例えばC言語でファイルを読み込むのにfgets()という関数が用意されているように、OpenCVでは画像を読み込むcvLoadImage()という関数が用意されています。勿論、用意されている関数はこれだけではなく、画像をグレースケール化したり画像中から四角形を検出したり、顔を検出したりする関数まで用意されています。 OpenCVでの処理の流れ OpenCVを使ったプログラムの基的な流れは といった流れになっています。以下では、まず始めにstep1とstep3だけを行うプログラムを作成したあとに徐々に複

  • 地獄のRubyでOpenCV顔認識:Ruby Advent Calendar jp: 2010 - tmaeda 日記

    _ 地獄のRubyOpenCV顔認識:Ruby Advent Calendar jp: 2010 これは Ruby Advent Calendar jp: 2010 のエントリです。12/25分(今年のトリ)を担当します。 前日の担当は @ktou さんで 地獄のジェネレータでした。 えっ?もう12月26日だって?イタリアはまだ25日だけど。 さて、RubyからOpenCVを利用して顔画像認識をやってみます。 環境 Mac OSX 10.6.5 Xcode 3.2.4 一応、Xcodeの場所を正しく指定しておきます。 $sudo xcode-select -switch /Volumes/Macintosh\ HD/Xcode3.2.4 次にOpenCVのインストール。最新版はOpenCV2.2.0ですが、 2.2.0だとライブラリの構成などがだいぶ異なるようで、 ruby-opencv

    babydaemons
    babydaemons 2011/10/05
    テストデータの顔画像が激しくネタなんで、面白いww
  • OpenCV - Wikipedia

    OpenCV(オープンシーヴィ、英: Open Source Computer Vision Library)とはインテルが開発・公開したオープンソースのコンピュータビジョン向けライブラリ[4]。2009年にWillow Garage(ウィロー・ガレージ)に開発が移管され、さらにその後Itseezにメンテナンスが移管された[5]が、2016年5月にインテルがItseezを買収することが発表された[6][7]。 概要[編集] 画像処理・画像解析および機械学習等の機能を持つC++JavaPython、MATLAB用ライブラリ[8]。様々なプラットフォームすなわち複数のオペレーティングシステム (OS) やCPUアーキテクチャに対応するクロスプラットフォームなライブラリであり、macOSやFreeBSD等全てのPOSIXに準拠したUnix系OS、LinuxWindowsAndroid、i

    OpenCV - Wikipedia
    babydaemons
    babydaemons 2011/10/05
    修論と同時に最初のアルファ版リリースだったのか。orz #歳がバレるなw
  • opencv.jp - OpenCV: オプティカルフロー(Optical flow)サンプルコード -

    作成者: 怡土順一, 最終変更者: 怡土順一, 最終変更リビジョン: 358, 最終変更日時: 2007-12-26 14:39:31 +0900 (水, 26 12月 2007) ■ オプティカルフロー オプティカルフローとは,時間連続な画像列を利用して,画像の速度場(物体 の速度+カメラの速度)を求め,それをベクトル集合で表現したものである. 大別して,勾配法,ブロックマッチング法が存在する. 勾配法では,「オプティカルフロー拘束方程式」と呼ばれる, 輝度の時間/空間的微分(輝度勾配)の拘束方程式を用いて,これに制約条件 を付加することでフローを求める. 比較的高速に全画素についての速度場を計算できるが,前提条件に合わない個 所(急激な輝度変化,ノイズ)では,著しい誤差が発生する事がある. ブロックマッチング法では,画像中のあるブロックをテンプレートとして,次 時間の画像中からマッチす

  • 適応的二値化処理 - OpenCV@Chihara-Lab.

    この文書は † 判別基準に基づいて閾値を局所的に決定することで、画像の二値化処理をより適応的に行う手順について示します。 ↑ おさらい † OpenCV で画像の二値化を行うには、一般的に cvThreshold を用います。cvThreshold では閾値をユーザが与える必要があります。 一方 cvAdaptiveThreshold? は、周辺画素の輝度値の平均を閾値として二値化を行います。閾値は自動的に決定されますが、輝度分布に偏りがある場合などには思うような結果を出さないことがあります。 ↑ 判別分析 † 判別分析(discriminant analysis)は、二つ以上のクラスを分類する基準を得るための教師あり学習手法で、統計学や機械学習で用いられています。 判別分析の考え方を画像の二値化に対して適用し、閾値を自動的に選定する手法が1979年に大津によって提案されています。 Ots

  • 1