タグ

画像処理に関するmakun2のブックマーク (27)

  • ホモグラフィ - Shogo Computing Laboratory

    ホモグラフィとは、平面を射影変換を用いて別の平面に射影することを言います。 二次元画像の変形などに使われます。 二次元画像の変形方法としてはアフィン変換がありますが、ホモグラフィはその拡張です。 アフィン変換は長方形を平行四辺形に変形させることしか出来ませんが、 ホモグラフィを使えば台形へ変形させることができます。 射影変換 ホモグラフィについて考える前に、 ホモグラフィの基的な考え方である射影変換について考えましょう。 コンピュータで3Dを扱う場合、コンピュータ内部では3Dをごちゃごちゃいじったとしても、ほとんどの場合最終的な出力は画面(2D)です。 そのため、3Dを2Dに変換する作業が必要となります。 それを実現するのが射影変換です。 平面上の点をに変換することを考えます。 このときホモグラフィ変換は次式で表されます。 ここで、行列Hはホモグラフィ行列といい、この変換を決めるパラメー

  • 第05回 平滑化

    平滑化とは、おおざっぱにいうと画像をぼやけさせる処理のことである。 この処理は、単にぼやけた画像を作りたいときにつかえるだけでなく、暗い場所で撮影したときに発生する高感度ノイズと呼ばれるザラザラのノイズを除去するのにも使える。 プログラムを実行すると実行画面上に元画像にザラザラのノイズを加えたものが表示される。 さらに実行画面上でクリックすると、dataフォルダに7つの画像が作られる。 コンソールに「完了」が表示されてからキーボードの0~6のキーを押すとこれらの画像が画面に表示される。 (クリックだけですべての画像が作成されるので、キーボードを使うのは結果確認のためだけ) キー 画像 意味 特徴

  • 射影変換

  • 最小二乗法によるホモグラフィ行列の計算(DLT法) - Qiita

    ホモグラフィ行列と、画像座標の射影変換は、以下のように表されます。ホモグラフィ変換(射影変換)は9つの成分を自由に決められますが、今回は回転と平行移動だけのアフィン変換を考えます。 H = \lambda\left( \begin{array}{ccc} \cos \theta & -\sin\theta & t_1 \\ \sin\theta & \cos\theta & t_2 \\ 0 & 0 & 1 \end{array} \right) \\ \vec{x}_1 = (x_1,y_1,1)^T,\ \vec{x}_2 = (x_2,y_2,1)^T \\ \vec{x}_2 = H\vec{x}_1 ここで、画像座標$\vec{x}_1,\vec{x}_2$は同次座標系を用いています。$t_1,t_2$は平行移動を表し、左上の2×2は回転行列です。また、拡大、縮小すなわちスケール

    最小二乗法によるホモグラフィ行列の計算(DLT法) - Qiita
  • mieki256's diary - DXRuby上で射影変換ができた

    元記事・参考記事の内容が全然理解できてないけど。写経してたらそれっぽく描画されるようになったのでアップロード。 Window.drawMorph による描画結果とは、ちょっと違うことが分かるかしら。 ソースは以下。 _projtrans.rb.txt require 'dxruby' # 4点を指定して射影変換描画 class ProjTrans attr_accessor :images attr_accessor :src_w attr_accessor :src_h attr_accessor :divx, :divy attr_accessor :mdivx, :mdivy attr_accessor :src_pos attr_accessor :src_idx # コンストラクタ # # @param [Object] img Imageオブジェクト # @param [Num

  • c++で画像処理〜メディアンフィルタ作ってみた〜 - Qiita

    メディアンフィルタとは メディアンという名の通り、中央値を利用した平滑化フィルタのことである。ノイズ除去に利用される。 ノイズを除去する方法には他に、平均化フィルタの利用などが挙げられる。 両者の最大の相違点はエッジが残るか残らないかだ。 平均化フィルタは画素値の合計をフィルタ数で割るため、エッジがぼやけてしまう。 しかし、メディアンフィルタではフィルタ内画素の中央値を利用するため、エッジが残りやすい。 画像のノイズ処理をしたい。だけどエッジはぼやけさせたくない。 そんな時に活躍するだろう使いやすそうなフィルタである。 実装に至った動機 洗いざらいに話すとテスト対策。 開発環境・使用言語など 使用言語 : c++ 開発環境 : Xcode version9.4 Opnecvを利用。 ソースコード #define FILE_NAME "/*お好きなように*/" #define M 1 //中

    c++で画像処理〜メディアンフィルタ作ってみた〜 - Qiita
  • 射影変換 (Homography) - jsdo.it - Share JavaScript, HTML5 and CSS

    var IMG_URL = 'http://jsrun.it/assets/4/W/u/U/4WuUH.png', SPACE = 10, SRC_WIDTH = 295, SRC_HEIGHT = 295, DST_WIDTH = 465 - SRC_WIDTH - SPACE * 3, DST_HEIGHT = 465 - SRC_HEIGHT - SPACE * 3; var img, canvas, context, points, srcImageData, draggingPoint = null; window.addEventListener('DOMContentLoaded', function() { canvas = document.getElementById('c'); context = canvas.getContext('2d'); srcBounds

    射影変換 (Homography) - jsdo.it - Share JavaScript, HTML5 and CSS
  • 射影変換(ホモグラフィ)について理解してみる - デジタル・デザイン・ラボラトリーな日々

    「3Dを基礎から勉強する フラットシェーディング」の記事を書いて、次は立方体のテクスチャマッピングに取り掛かろうと思ったんですが、ふとアフィン変換で台形は出来ないってことを書いたことを思い出したんです。テクスチャマッピングについては、「テクスチャマッピングを理解してみる」で三角形に分割することで台形にすることが出来たのですが、分割しなくても台形にするには「射影変換(ホモグラフィ)」すれば出来ることが分かりました。 早速、射影変換の調査に取り掛かったのですが、これが自分の理解度が足りないのか1ヶ月以上経って、やっとこうして記事を書こうと思うところまで理解が進んだところです。 まだ理解が途中段階であるため、理解した現状まで書いていきます。 射影変換(ホモグラフィ)には、下記の変換式があります。 変換式 変換式は以下の通り。 u = (x*a + y*b + c) / (x*g + y*h +

  • 透視変換 (Homography Transformation)

    今回は干潟を斜め上の角度から撮影した画像をオリジナル画像とし、ホモグラフィー変換によって真上から撮影したような形状に変形する例を紹介します。 平面の変形方法にはいくつか種類がありますが、透視変換(ホモグラフィー変換)は最も上位に位置する変換方法です。オリジナルの長方形があったときに、Translation:平行移動とEuclidian:回転までは形自体は変わりません。アフィン変換は平行四辺形に変形できますが、辺同士の平行の関係は維持されます。それに対し、ホモグラフィー変換は自由に変形することができる変換手法です。 ホモグラフィー変換では、変換前と変換後で対応する4点を指定すると一意の変換を指定することになります。 下の画像はオリジナル画像の変換前の4点を赤丸でマークしたものです。緑色の線は変換前の四角形を示す線です。今回はこの四角形を正方形に変換したいと思います。 変換後の画像です。 細か

    透視変換 (Homography Transformation)
  • iPhoneでお手軽画像変形 - 株式会社CFlatの明後日スタイルのブログ

    概要 斜めの方向から撮影してしまったけど、後から正面から撮った画像が欲しくなった事はありませんか? 例えば、以下の写真ような場合です。 実はこれを正面から撮ったように画像を変形する事が出来ます。 そう。ホモグラフィならね。 こんな感じに出来ます。 ホモグラフィとは射影変換を用いてある平面から別の平面と射影する変換です。 似たものにアフィン変換がありますが、こちらは平行なものは平行(長方形は長方形)に変換されます。 ホモグラフィでは平行性は保存されないので、台形から長方形へと変換する事が出来ます。 画像処理向けライブラリのopencvを使えば、iPhoneで簡単に実装出来ます。 早速実装してみましょう。 環境 mac marverics xcode 5.02 opencv 2.4.6 プロジェクトの作成 プロジェクトの新規作成からSingle View Applicatioを選択し、プロジェ

    iPhoneでお手軽画像変形 - 株式会社CFlatの明後日スタイルのブログ
  • Swift4でOpenCV3.4を使ってみる - AppSetNetDev

    何番煎じかわかりませんがSwift4にOpenCV3.4を組み込んで、画像の変更をしてみます。 OpenCVのダウンロード まずはOpenCVのフレームワークをここからダウンロードしてください。iOS Packという名前をクリックするとダウンロードが開始されます。 opencv.org プロジェクトの作成と構成変更 次にプロジェクトを作成します。 xcode >File > New > Project を選択してください。 ここでプロジェクト名はopencv_testとしました。 ダウンロードされたopencv-3.4.0-ios-framework.zipを解凍するとonepcv2.frameworkが展開されるので、これをそのままプロジェクトのフォルダに放り込みます。 このままではビルドしても組み込まれないので、xcodeにも放り込みます。 ドラッグ&ドロップした際に次のようなモーダル

    Swift4でOpenCV3.4を使ってみる - AppSetNetDev
  • OpenCV 3.2 を Swift のプロジェクトで使って簡単な画像処理をしてみよう!

    アプリケーション共同開発部のオスカルです。 iOS エンジニアをやっています。 「次の iOS のため Apple が AR と VR の研究をしている」という噂を聞いたことがあります。みなさんもデジタル世界と現実世界の壁を壊す技術に興味があるのではないでしょうか。理由と関わらずコンピュータビジョンがこれからもっと大事になると考えられます。 現在、たくさんの AR と VR のフレームワークが存在しています。このブログにもこのような記事が投稿されています。 次世代の AR を体験! Tango をはじめよう Amazon Rekognition の実力を試す の技術の裏で実際何が起こっているか興味がある方は OpenCV (Open Computer Vision) を使って見てください! OpenCV は C/C++ で書いているライブラリですが C++, C, Python と Jav

    OpenCV 3.2 を Swift のプロジェクトで使って簡単な画像処理をしてみよう!
  • iOS(swift)でOpenCVを使うシンプルなサンプル - Qiita

    ふとiOSでOpenCVを使いたくなったのですが、iOSのプログラミング経験がなかったので、0から調べつつサンプルを作ってみました。 他にも同様のことをやっている記事がいくつかありましたが、情報を整理する意味でも自分なりにまとめることにしました。 swiftからOpenCVを使って入力画像をグレースケール変換するだけのシンプルなサンプルです。(Xcodeの使い方が多め) CocoaPodsのセットアップ CocoaPodsはiOSのライブラリ管理ツールです。OpenCVCocoaPods経由でインストールします。 CocoaPodsのインストールにはRubyGemsを用います。 以下のコマンドを実行してセットアップします。 プロジェクトの作成 次にXcodeを立ち上げます。バージョンはVersion 9.2を使いました。 Xcodeを起動すると以下のウインドウが表示されるので、Creat

    iOS(swift)でOpenCVを使うシンプルなサンプル - Qiita
  • [iPhone] CGAffineTransform 画像を回転、移動、反転させる

    import UIKit class ViewController: UIViewController { @IBOutlet var imageView:UIImageView! @IBOutlet var label:UILabel! var transScale = CGAffineTransform() var transTrans = CGAffineTransform() var transRotate = CGAffineTransform() var transMiller = CGAffineTransform() // 画面の横幅を取得 var screenWidth:CGFloat! var screenHeight:CGFloat! var counter = 0 override func viewDidLoad() { super.viewDidLoad() /

    [iPhone] CGAffineTransform 画像を回転、移動、反転させる
    makun2
    makun2 2019/02/26
    アフィン変換、拡大縮小
  • Hough変換による画像からの直線や円の検出

    はじめに Hough変換は、画像から直線や円を検出する技法として知られています。通常の直交座標上の画像を、極座標の二次元空間(直線検出の場合)に変換したり、三次元の空間(円検出の場合)に変換したりして、そこで最も頻度の高い位置を求め、それを逆変換して、直線や円を検出します。 Hough変換は数学的に興味深く、プログラムの対象として面白いため、多くの論文が見られますが、実用化には多くの問題点もあります。 ここでは最初に、一般的なHough変換の基プログラムを紹介し、次に交通標識認識への応用に特化したプログラムについて述べます。 基図形認識版アプレットを見る 交通標識認識版アプレットを見る 対象読者 画像から直線や円を検出する方法に興味を持ち、その一つであるHough変換の仕組みを学びたい人。 必要な環境 J2SE 5.0を使っていますが、J2SE 1.4.2でも大丈夫です。円のためのHo

    Hough変換による画像からの直線や円の検出
  • アフィン変換 画像処理ソリューション

    メインページ > 画像処理 画像の拡大縮小、回転、平行移動などをまとめて3×3の行列を使って変換する事をアフィン変換と呼びます。 変換前の座標を(x, y) 変換後の座標を(x',y') とすると、アフィン変換では のように実質的には2行3列の行列を使って変換します。 変換前の画像を以下のようにすると、 拡大縮小X軸方向の拡大率をSx、Y軸方向の拡大率をSyとすると拡大縮小のアフィン変換は と表されます。 例)X軸方向に2倍 例)Y軸方向に2倍 例)X軸、Y軸方向に2倍 例)Y軸方向に-1倍 このように、ある軸(上記の例ではX軸)に対して反転する処理の事を鏡映と呼びます。 平行移動X軸方向にTx、Y軸方向にTyだけ移動するアフィン変換は のように表されます。 回転原点を中心に反時計回りにθ°回転する時のアフィン変換は のように表されます。 スキュー(せん断)四角形の画像を平行四辺形に変形す

  • 画像処理 - MATLAB & Simulink

  • 射影変換(ホモグラフィ)について理解してみる 射影変換式について - デジタル・デザイン・ラボラトリーな日々

    昔、定期的に購読していた「C MAGAZINE」の大半は処分したんですが、処分する際に数冊程は内容を見て残しておいたのです。 C MAGAZINE 2005年1月号は、特集2が「物理運動をシュミレーションしよう」ってことでたぶん残したんですが、このを何気に見ていたら「グラフィック処理技法 非線形関数を持用いたさまざまな変形処理   昌達 K'z」があって、⑤遠近変形に射影変換式の記載がありました。 平面射影変換のサイトにある変換式と表現が違いますが内容は同じです。 この変換式がどうやって求まるのかの説明が書かれていました。 説明の前に3次元ベクトルの1次変換は下記のようになっていることを提示しておきます。 遠近法は絵画などで一般的に利用されますが、基は視点から遠い部分を小さくすることで三次元の物体を二次元上で表現します。数学的にこれを説明すると、三次元の座標(X,Y,Z)を二次元上の座

  • 写真の色を見た目どおりに補正するカラーコレクションの実践手順ガイド

    デジカメやスマートフォンで写真を撮影するとき、実物と写真の色感の違いに悩まされる場合もよくあるものです。これは人間の目とカメラの仕組みが異なるために起こる問題なのですが、Adobe Photoshopなどの画像編集ソフトを使って補正を行うことで正しい色に近づけることも可能です。元NASA職員らによるサイト「Planet Labs」では、そんな画像補正の手順を解説するブログエントリ「A Hands-On Guide to Color Correction」を公開しています。 A Hands-On Guide to Color Correction https://www.planet.com/pulse/color-correction/ ブログのエントリを公開したロバート・サイモンさんは、人工衛星から撮影した地表の写真に補正を加えることで実際の見た目に近い画像を作成する手順を解説しています

    写真の色を見た目どおりに補正するカラーコレクションの実践手順ガイド
  • URAMAYU

    19年ほど、自分の日常やウェブ系のネタやガジェット情報を、面白くさらりと読める、ささやかなエンターテイメントを目指して書いているブログです。2024年初にブログテンプレートが壊れて見づらくなりました。つらい。 こんな写真や、 こんな写真がHDR写真です。 まるでCGみたいな、または妙に写実的な絵画みたいな写真です。 このようなHDR写真がどういう仕組みで出来ているのか、そしてどうやって作成するのか、解説していこうと思います。 HDRとは、High Dynamic Rangeの略で、1枚の画像の中で白トビや黒つぶれを無くして、明るいところと暗いところを同時に階調を残して表現することができる写真の表現技法です。 暗い写真と明るい写真を別々に用意して、いいとこ取りして合成するというものです。 iPhone 4からカメラの標準機能としても備わりましたね。 HDRに向いている写真は以下のようなもの。

    URAMAYU