<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://w.atwiki.jp/ansoft/">
    <title>ImageProcessingTester @wiki</title>
    <link>http://w.atwiki.jp/ansoft/</link>
    <atom:link href="https://w.atwiki.jp/ansoft/rss10.xml" rel="self" type="application/rss+xml" />
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com" />
    <description>ImageProcessingTester @wiki</description>

    <dc:language>ja</dc:language>
    <dc:date>2009-12-26T16:34:13+09:00</dc:date>
    <utime>1261812853</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/ansoft/pages/27.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/ansoft/pages/1.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/ansoft/pages/31.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/ansoft/pages/2.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/ansoft/pages/30.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/ansoft/pages/21.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/ansoft/pages/20.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/ansoft/pages/17.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/ansoft/pages/24.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/ansoft/pages/28.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="https://w.atwiki.jp/ansoft/pages/27.html">
    <title>基本的な使用方法</title>
    <link>https://w.atwiki.jp/ansoft/pages/27.html</link>
    <description>
      &amp;aname(top)
*基本的な使用方法

----
#contents(fromhere)
----
*前提
IPTでは，&amp;bold(){構築する画像処理をネットワークとみなします。}
次の図は、IPTで画像の差分処理を行うネットワークの概念図で、&amp;bold(){図中の丸がノード、長方形がゲート}になります。

&amp;ref(node.png,,title=ノードによるネットワーク概念図)

-ノード
--画像処理のネットワークを構成する要素のことで、IPTでは画像を保持しています。
-ゲート
--入力ノードに処理を行い、ノードを出力する部分で、IPTでは画像処理や、パラメータの情報を保持しています。

今後の説明ではこの用語を用いて行います。

[[ページのトップに戻る&gt;基本的な使用方法#top]]
----
&amp;aname(openpicture)
*静止画を開く
ImageProcessingTester.exeを開くと、次のようなウィンドウが表示されます。

&amp;ref(ipt_window.png,,title=初期画面)

このとき、左側にある&amp;bold(){ノードリストに画像ファイルをドロップする}と、IPTでその画像を開くことができます。
画像を開くとノードリストに名前が表示され、右側に画像の情報とプレビューが表示されます。

&amp;ref(ipt_open.png,,title=画像を開いた)

この操作はメインメニューの「ファイル」→「画像を追加」でも行うことができます。
また、画像をドロップする際に&amp;bold(){Ctrlキーを押しながらドロップ}すると、グレースケール（白黒）で読み込むことができます。

プレビューをクリックすると、その座標の画素値が表示されます。

&amp;ref(ipt_pixel.png,,title=画素値の表示)

[[ページのトップに戻る&gt;基本的な使用方法#top]]
----
&amp;aname(process)
*画像処理を行う（ゲートを追加する）

開いた画像に対して、色成分ごとに分割を行ってみましょう。
通常、色成分の並びはRGBですが、OpenCVではBGRになっています。

ゲートを追加するときは、ノードリストからゲートを繋ぎたいノードを右クリックし、&amp;bold(){ゲートを追加}に進みます。
すると処理の大分類が表示されるので、目的の分類を選び、処理を選択します。
今回はBGRへの分割なので、&amp;bold(){ゲートを追加→[[チャンネル分割・結合]]→[[チャンネル分割(3)&gt;チャンネル分割・結合#チャンネル分割(3)]]}を選択します。

&amp;ref(ipt_pathselect.png,,title=ゲートの選択)

処理を選択すると、ゲートを設定するためのダイアログが開きます。

&amp;ref(ipt_pathset.png,,title=ゲート設定ダイアログ)

今回の処理は入力は1つなので、入力ノードは変更する必要はありません。
入力ノードが複数ある場合（差分など）は、2番目以降のテキストボックスにノードの名前を入力します。

出力ノードは、処理結果のノードに付ける名前を設定します。
今回は3つの出力に対し、「B」「G」「R」と順に名前を付けます。

ここで、右下の&amp;bold(){出力の自動命名}を押して、入力ノードの名前を使って出力の名前を自動的に設定することもできます。
&amp;bold(){目安パラメータ}は、パラメータがある処理の場合、OpenCVのサンプルなどで設定されている数値を自動入力します。

全て入力が終わった後、&amp;bold(){やる}をクリックすると、実際に処理が実行され、ノードが追加されます。

&amp;ref(ipt_result.png,,title=結果)

元の画像から、各色成分が取り出せていることが確認できると思います。


[[ページのトップに戻る&gt;基本的な使用方法#top]]
----
&amp;aname(param)
*画像処理を行う（パラメータの設定）

出力した画像に対し、更にゲートを追加することができます。
緑成分Gに対してCanny法による[[エッジ検出]]処理を行ってみましょう。

先ほどと同様に&amp;bold(){Gを右クリックし、ゲートの追加→[[エッジ検出]]→[[Canny&gt;エッジ検出#Canny]]}と選択していきましょう。

&amp;ref(ipt_cannyselect.png,,title=Cannyを選択)

ゲート設定のダイアログが開きます。

&amp;ref(ipt_cannypathset.png,,title=ゲートの設定)

出力ノードに適当に名前を付けます。
「canny」でいいでしょう。

さて、Canny法では2つのパラメータを設定する必要があります。
&amp;bold(){パラメータのテキストボックスにフォーカスすると、ダイアログの下側にパラメータの説明が出る}ため、それを参考にして入力します。

&amp;bold(){やる}をクリックすると、輪郭が出力されます。

&amp;ref(ipt_cannyresult.png,,title=Canny結果)


[[ページのトップに戻る&gt;基本的な使用方法#top]]
----
*ゲートの編集
前項で出力した輪郭には、ノイズのような部分までエッジが検出されてしまっていました。
これは、Cannyに与えるパラメータが低く、エッジを検出しやすく設定されていたためです。

このパラメータを変更してみましょう。
ノードリストから「canny」を右クリックし、&amp;bold(){ゲートの編集}をクリックします。

&amp;ref(ipt_pathedit.png,,title=ゲートの編集)

2つのパラメータを大きめに設定し直します。
編集が終わったら、&amp;bold(){やる}をクリックすると編集が反映されます。

&amp;ref(ipt_editresult.png,,title=ゲート編集の結果)

エッジの検出量が少なくなったのが確認できると思います。


[[ページのトップに戻る&gt;基本的な使用方法#top]]
----
*処理結果の保存
作成された画像は簡単に保存することができます。
画面の右側にあるプレビュー部分で右クリックすると、メニューが出るのでクリップボードにコピーするか、ファイルとして保存するかを選択できます。

&amp;ref(ipt_save.png,,title=処理結果の保存)


[[ページのトップに戻る&gt;基本的な使用方法#top]]
----
*画像の入れ替え
画像ファイルから生成された静止画ノードは画像を入れ替えることができます。
入れ替えたいノードを右クリックし、&amp;bold(){画像の入れ替え}をクリックすると、ファイル選択のダイアログが開くので、画像を選択します。

選択すると入れ替えが完了し、繋がっているゲートから出力されるノードにも入れ替えが反映されます。

&amp;ref(ipt_change.png,,title=画像の入れ替え)

これを利用して、作った処理に対して複数の画像で実験することができます。

[[ページのトップに戻る&gt;基本的な使用方法#top]]
----
&amp;aname(simplewindow)
*簡易表示窓を使う
IPTのメインウィンドウ右側に表示されるプレビューはウィンドウのサイズに合うようにスケールされた画像です。
オリジナルのスケールで画像を見たい場合や、同時に複数の画像を見たい場合は&amp;bold(){簡易表示窓}の機能を使うことができます。

簡易表示窓はOpenCVのcvNamedWindow（のラップであるCvWindow）で実現されています。

簡易表示窓を開きたいノードで右クリックし、&amp;bold(){簡易表示窓を開く}を選択します。

&amp;ref(ipt_opensimplewindow.png,,title=簡易表示窓を開く)

また、プレビューで右クリックし、&amp;bold(){簡易表示窓を開く}を選択しても開くことが出来ます。

&amp;ref(ipt_cvwindow.png,,title=簡易表示窓の表示)

この機能は動画を処理する際など、効果を発揮します。

[[ページのトップに戻る&gt;基本的な使用方法#top]]
----
&amp;aname(path_save)
*ネットワークを保存する
IPTでは作成したゲートの組み合わせ（ネットワーク）をXML形式で保存し、再利用することができます。

カラー画像を[[グレースケール変換&gt;色空間変換#BGR→グレースケール]]し、エッジ保存平滑化である[[バイラテラルフィルタ&gt;フィルタ処理#平滑化（バイラテラルフィルタ）]]をかけた上で[[Cannyエッジ&gt;エッジ検出#Canny]]を検出する画像処理を構築してみましょう。

ここでは詳細な手順は割愛します。
[[ゲートを追加する&gt;基本的な使用方法#process]]などの項目をチェックしてください。
また、グレースケール変換は&amp;bold(){ノードを右クリックして「グレースケール変換」でも可能です}。

パラメータについては、今回は[[ゲート設定ダイアログ&gt;基本的な使用方法#param]]にある&amp;bold(){目安パラメータ設定}ボタンを使ってください。
出力ノードの名前については次の画像を参考につけてください。

&amp;ref(ipt_bi_canny.png,,title=平滑化とエッジ検出)

準備ができたので実際に保存してみます。
今回は、「Sunset.Canny」を最終出力とし、入力は原画像である画像処理を保存します。

まず、&amp;bold(){ファイル→ネットワークを保存}を選択します。

&amp;ref(ipt_save_path.png,,title=ネットワークの保存)

次に&amp;bold(){出力するノードをノードリストから選択}します。
「Sunset.Canny」を左クリックします。

&amp;ref(ipt_save_select_output.png,,title=出力の選択)

各ノードの色が変わったと思います。
この色は、
-&amp;bgcolor(pink){最終的な出力ノード}
-&amp;bgcolor(aqua){出力ノードに付帯して保存されるノード}
-&amp;bgcolor(lightgreen){入力ノード}
のようになっています。

出力ノードを選び終わったら（実際に使う際、他にも保存する出力ノードがあった場合はそれも左クリックします）&amp;bold(){右クリック}します。

&amp;ref(ipt_save_select_input.png,,title=入力の選択)

今度は入力ノードを選択します。
今回は原画像である「Sunset」がスタートになって問題ないので選択しませんが、例えばグレースケール変換後の画像からスタートする画像処理として保存したい場合は&amp;bold(){「Sunset.Gray」を左クリック}します。

すると、出力ノードの名前を変更するためのウィンドウが開きます。

&amp;ref(ipt_save_path_dialog.png,,title=ネットワーク保存ダイアログ)

ここで、出力名に&amp;bold(){#0}がありますが、これは&amp;bold(){「ここには1番目の入力ノード名を入れる」}といった意味合いになります。
例えば、「Winter」というノードを入力にしたとき、「#0.Canny」は「Winter.Canny」になります。

今回は変更の必要はないと思われますので、そのまま&amp;bold(){OK}を押します。

ファイル保存のダイアログが開くので保存します。
ファイル名は&amp;bold(){平滑化後Canny.xml}などにしましょう。

この保存したネットワークの使い方は[[次項&gt;基本的な使用方法#path_chain]]で説明します。

[[ページのトップに戻る&gt;基本的な使用方法#top]]
----
&amp;aname(path_chain)
*保存したネットワークを接続する
[[前項&gt;基本的な使用方法#path_save]]で保存したネットワークを接続する方法について説明します。

まず、IPTで画像を開きます。
分かりやすいように保存した際とは違う画像にすると良いでしょう。

&amp;ref(ipt_wl.png,,title=画像を開いておく)

次に、ネットワークを接続するノード（Water lilies）で右クリックし、&amp;bold(){保存したゲートを連結}を選択します。

&amp;ref(ipt_path_chain.png,,title=保存したゲートを連結)

入力ノードを選択するダイアログが開きます。
入力が複数ある場合、ノード名を入力していきます。

&amp;ref(ipt_path_chain_select.png,,title=入力ノードの選択)

&amp;bold(){やる}を押すと接続結果が反映されます。

&amp;ref(ipt_path_chain_result.png,,title=実行結果)

当たり前ですが、保存したネットワークは同時に、何度でも使用できます。
同じ処理を複数の画像に適用したい場合などの有用です。

&amp;ref(ipt_path_chain_second.png,,title=同時使用)

[[ページのトップに戻る&gt;基本的な使用方法#top]]
----    </description>
    <dc:date>2009-12-26T16:34:13+09:00</dc:date>
    <utime>1261812853</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/ansoft/pages/1.html">
    <title>トップページ</title>
    <link>https://w.atwiki.jp/ansoft/pages/1.html</link>
    <description>
      *ImageProcessingTesterについて

----
#contents(fromhere)
----

*概要
ImageProcessingTester（IPT）は、コンピュータビジョン分野の画像処理をGUI上で簡単に実験するためのツールです。
画像をノード、画像処理をゲートとし、ゲートが出力したノードに対して更にゲートを繋げてネットワークを構築していくことで複雑な画像処理を簡単に構築できます。

単純にC/C++，C#などでコードを書いて実行する場合、小さな閾値の手直しですら「コンパイル→再実行」のプロセスを必要としましたが、
IPTはその面倒なプロセスを抜きに目的の処理を試行錯誤で構築することができます！
画像処理はOpenCVの主要な処理が既に用意されており、[[モジュール]]を作成することで追加機能を導入することができます。

*IPTで出来ること
-静止画の読み込みと画像処理
-画像処理に与えるパラメータのリアルタイム調整
-処理結果（画像）の保存
-処理手順（ネットワーク）の保存と読み込み
-動画（カメラ、ファイル）からの入力を実現するライブリンク機能
-動画としての処理結果の保存
-処理内容のコード出力（C#、C++に対応）

*使用しているライブラリ
-[[OpenCV&gt;http://opencv.jp/]]
--Intelから誕生したオープンソースの画像処理ライブラリで、様々な機能を持っています。
-[[OpenCvSharp&gt;http://code.google.com/p/opencvsharp/]]
--Schimaさんの開発したOpenCVの.NET用ラッパ。

*必要環境
-.NET Framework 2.0
-.NET Framework 3.5
-OpenCV 1.0/1.1pre1a
-[[Xvid&gt;http://www.xvid.org/]]、[[DivX&gt;http://www.forest.impress.co.jp/lib/pic/video/vdoenc/divx.html]]などの動画コーデック（動画の圧縮保存を行う場合）

*入手方法
渡邊研究グループサーバの\\shime\Personal\akihiro\画像処理から最新版を入手することができます。

現在、バージョンアップを頻繁に行っていることと、安定性の確認ができていないため外部への公開は行っていません。
もし外部の方で欲しい方がいらっしゃったらshibamu (あっとまーく） gmail.comへメールをお願いします。    </description>
    <dc:date>2009-12-26T16:24:48+09:00</dc:date>
    <utime>1261812288</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/ansoft/pages/31.html">
    <title>物体・図形検出（簡易）</title>
    <link>https://w.atwiki.jp/ansoft/pages/31.html</link>
    <description>
      &amp;aname(top)
*物体・図形検出（簡易）
簡易な物体や図形の検出処理を提供する

----
#contents(fromhere)

----
&amp;aname(直線検出（確率的Hough変換）－直接描画)
*直線検出（確率的Hough変換）－直接描画
-説明
--確率的Hough変換によって検出した線分を原画像に描画する
-入力
-+原画像
-+Cannyなどによるエッジ画像
-出力
-+原画像に対して検出された線分を描画した画像
-パラメータ
-+距離解像度（1ピクセル当たりの単位）
-+角度解像度（ラジアン）
-+閾値（投票数がこれを超えた場合のみ線として検出される）
-+最小の線分の長さ
-+線の太さ
-+色のリスト（循環して利用される）
[[このページのトップへ戻る&gt;物体・図形検出（簡易）#top]]
----
&amp;aname(直線検出（標準Hough変換）－直接描画)
*直線検出（標準Hough変換）－直接描画
-説明
--標準Hough変換によって検出した直線を原画像に描画する
-入力
-+原画像
-+Cannyなどによるエッジ画像
-出力
-+原画像に対して検出された直線を描画した画像
-パラメータ
-+距離解像度（1ピクセル当たりの単位）
-+角度解像度（ラジアン）
-+閾値（投票数がこれを超えた場合のみ線として検出される）
-+線の太さ
-+色のリスト（循環して利用される）
[[このページのトップへ戻る&gt;物体・図形検出（簡易）#top]]
----
&amp;aname(円検出（Hough変換）－直接描画)
*円検出（Hough変換）－直接描画
-説明
--Hough変換によって画像から円を検出し、直接原画像に描画する
-入力
-+原画像
-+円検出を行うグレースケール画像（平滑化を行うことが望ましい）
-出力
-+原画像に対して検出された円を描画した画像
-パラメータ
-+円の中心を求める際に用いられる計算時の解像度
-+円検出における中心座標間の最小間隔 
-+Cannyのエッジ検出器で用いる二つの閾値の高い方の値
-+線の太さ（負数を指定すると塗りつぶし）
-+色のリスト（循環して利用される）
[[このページのトップへ戻る&gt;物体・図形検出（簡易）#top]]
----
&amp;aname(円検出（Hough変換）－マスク生成)
*円検出（Hough変換）－マスク生成
-説明
--Hough変換によって画像から円を検出し、その部分を切り出すマスクを生成する
-入力
-+円検出を行うグレースケール画像（平滑化を行うことが望ましい）
-出力
-+円が検出された部分が白くなったマスク画像
-パラメータ
-+円の中心を求める際に用いられる計算時の解像度
-+円検出における中心座標間の最小間隔 
-+Cannyのエッジ検出器で用いる二つの閾値の高い方の値
[[このページのトップへ戻る&gt;物体・図形検出（簡易）#top]]
----    </description>
    <dc:date>2009-10-20T01:52:57+09:00</dc:date>
    <utime>1255971177</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/ansoft/pages/2.html">
    <title>メニュー</title>
    <link>https://w.atwiki.jp/ansoft/pages/2.html</link>
    <description>
      **メニュー
-[[トップページ]]
-[[基本的な使用方法]]
-[[動画で利用する]]

-[[オプションの設定]]
-[[モジュールの作成]]

-画像処理リファレンス
--[[算術演算]]
--[[論理演算]]
--[[数学関数]]
--[[エッジ検出]]
--[[フィルタ処理]]
--[[チャンネル分割・結合]]
--[[色空間変換]]
--[[物体・図形検出]]
--[[物体・図形検出（簡易）]]
--[[その他]]

-[[今後の更新予定]]

----
**更新履歴
#recent(10)


----

**リンク
-[[@wiki&gt;&gt;http://atwiki.jp]]
-[[@wikiご利用ガイド&gt;&gt;http://atwiki.jp/guide/]]

**他のサービス
-[[無料ホームページ作成&gt;&gt;http://atpages.jp]]
-[[無料ブログ作成&gt;&gt;http://atword.jp]]
-[[2ch型掲示板レンタル&gt;&gt;http://atchs.jp]]
-[[無料掲示板レンタル&gt;&gt;http://atbbs.jp]]
-[[お絵かきレンタル&gt;&gt;http://atpaint.jp/]]
-[[無料ソーシャルプロフ&gt;&gt;http://sns.atfb.jp/]]

// リンクを張るには &quot;[&quot; 2つで文字列を括ります。
// &quot;&gt;&quot; の左側に文字、右側にURLを記述するとリンクになります


//**更新履歴
//#recent(20)

&amp;link_editmenu(text=ここを編集)    </description>
    <dc:date>2009-10-20T01:49:13+09:00</dc:date>
    <utime>1255970953</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/ansoft/pages/30.html">
    <title>物体・図形検出</title>
    <link>https://w.atwiki.jp/ansoft/pages/30.html</link>
    <description>
      &amp;aname(top)
*物体・図形検出
物体や図形の検出処理を提供する

----
#contents(fromhere)

----
&amp;aname(直線検出（確率的Hough変換）)
*直線検出（確率的Hough変換）
-説明
--確率的Hough変換によって画像から直線を検出する
-入力
-出力
-パラメータ
-+距離解像度（1ピクセル当たりの単位）
-+角度解像度（ラジアン）
-+閾値（投票数がこれを超えた場合のみ線として検出される）
-+最小の線分の長さ
-+検出結果を格納する変数（出力）
[[このページのトップへ戻る&gt;物体・図形検出#top]]
----
&amp;aname(直線検出（標準Hough変換）)
*直線検出（標準Hough変換）
-説明
--標準Hough変換によって画像から直線を検出する
-入力
-出力
-パラメータ
-+距離解像度（1ピクセル当たりの単位）
-+角度解像度（ラジアン）
-+閾値（投票数がこれを超えた場合のみ線として検出される）
-+検出結果を格納する変数（出力）
[[このページのトップへ戻る&gt;物体・図形検出#top]]
----
&amp;aname(円検出（Hough変換）)
*円検出（Hough変換）
-説明
--Hough変換によって画像から円を検出する
-入力
-出力
-パラメータ
-+円の中心を求める際に用いられる計算時の解像度
-+円検出における中心座標間の最小間隔 
-+Cannyのエッジ検出器で用いる二つの閾値の高い方の値
-+検出結果を格納する変数（出力）
[[このページのトップへ戻る&gt;物体・図形検出#top]]
----    </description>
    <dc:date>2009-10-20T01:47:17+09:00</dc:date>
    <utime>1255970837</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/ansoft/pages/21.html">
    <title>フィルタ処理</title>
    <link>https://w.atwiki.jp/ansoft/pages/21.html</link>
    <description>
      &amp;aname(top)
*フィルタ処理
入力画像に処理を施すことによって様々な効果を与える各種フィルタを提供する

----
#contents(fromhere)

----
&amp;aname(マスク処理)
*マスク処理
-説明
--原画像の特定の部分だけを抜き出すマスク処理を行う
-入力
-+元になる画像
-+マスク（2値画像）
-出力
-+マスク処理された画像
-リファレンス
--[[cvCopy&gt;http://opencv.jp/opencv-1.1.0/document/opencvref_cxcore_copy.html#decl_cvCopy]](maskを設定)
-サンプル
|&#039;&#039;入力&#039;&#039;|&amp;ref(mask_in1.png,,title=入力1)|&amp;ref(mask_in2.png,,title=入力2)|
|&#039;&#039;出力&#039;&#039;|&gt;|CENTER:&amp;ref(mask_out.png,,title=出力)|
[[このページのトップへ戻る&gt;フィルタ処理#top]]
----
&amp;aname(2値化)
*2値化
-説明
--指定された閾値で画素を分離し、閾値以上の画素が設定した最大値となるように2値化を行うう
-入力
-+2値化するグレースケール（濃淡）画像
-出力
-+2値画像
-パラメータ
-+閾値
-+最大値
-リファレンス
--[[cvThreshold&gt;http://opencv.jp/opencv-1.1.0/document/opencvref_cv_filters.html#decl_cvThreshold]]
-サンプルなど
--[[OpenCV:画像の二値化&gt;http://opencv.jp/sample/filter_and_color_conversion.html#threshold]]
[[このページのトップへ戻る&gt;フィルタ処理#top]]
----
&amp;aname(2値化（範囲指定）)
*2値化（範囲指定）
-説明
--指定した値の範囲内が1(白）になるように2値化を行う
-入力
-+2値化するグレースケール（濃淡）画像
-出力
-+2値画像
-パラメータ
-+下限
-+上限
-リファレンス
--[[cvInRangeS&gt;http://opencv.jp/opencv-1.1.0/document/opencvref_cxcore_arithmetic.html#decl_cvInRangeS]]
-サンプルなど
--[[特定範囲の２値化 - OpenGL de プログラミング&gt;http://wiki.livedoor.jp/mikk_ni3_92/d/%c6%c3%c4%ea%c8%cf%b0%cf%a4%ce%a3%b2%c3%cd%b2%bd]]
[[このページのトップへ戻る&gt;フィルタ処理#top]]
----
&amp;aname(2値化（大津の方法）)
*2値化（大津の方法）
-説明
--大津の方法（判別分析法）を用いて2値化を行う
-入力
-+2値化するグレースケール（濃淡）画像
-出力
-+2値画像
-リファレンス
--[[cvThreshold&gt;http://opencv.jp/opencv-1.1.0/document/opencvref_cv_filters.html#decl_cvThreshold]]
-サンプルなど
--[[OpenCV:画像の二値化（大津の手法）&gt;http://opencv.jp/sample/filter_and_color_conversion.html#threshold_otsu]]
[[このページのトップへ戻る&gt;フィルタ処理#top]]
----
&amp;aname(2値化（Niblackの方法）)
*2値化（Niblackの方法）
-説明
--Niblackの方法を用いて2値化を行う
-入力
-+2値化するグレースケール（濃淡）画像
-出力
-+2値画像
-パラメータ
-+局所領域のサイズ（3以上の奇数）
-+係数
[[このページのトップへ戻る&gt;フィルタ処理#top]]
----
&amp;aname(2値化（Sauvolaの方法）)
*2値化（Sauvolaの方法）
-説明
--Sauvolaの方法を用いて2値化を行う
-入力
-+2値化するグレースケール（濃淡）画像
-出力
-+2値画像
-パラメータ
-+局所領域のサイズ（3以上の奇数）
-+係数
-+係数
[[このページのトップへ戻る&gt;フィルタ処理#top]]
----
&amp;aname(平滑化（ガウシアンフィルタ）)
*平滑化（ガウシアンフィルタ）
-説明
--ガウシアンフィルタによって入力画像を平滑化する
-入力
-+平滑化する画像
-出力
-+平滑化された画像
-パラメータ
-+ガウシアンカーネルの幅，高さ（必ず奇数）
-リファレンス
--[[cvSmooth&gt;http://opencv.jp/opencv-1.1.0/document/opencvref_cv_filters.html#decl_cvSmooth]]
-サンプルなど
--[[OpenCV:平滑化&gt;http://opencv.jp/sample/filter_and_color_conversion.html#smooth]]
[[このページのトップへ戻る&gt;フィルタ処理#top]]
----
&amp;aname(平滑化（メディアンフィルタ）)
*平滑化（メディアンフィルタ）
-説明
--メディアンフィルタによって入力画像を平滑化する
-入力
-+平滑化する画像
-出力
-+平滑化された画像
-パラメータ
-+隣接領域の幅，高さ（必ず奇数）
-リファレンス
--[[cvSmooth&gt;http://opencv.jp/opencv-1.1.0/document/opencvref_cv_filters.html#decl_cvSmooth]]
-サンプルなど
--[[OpenCV:平滑化&gt;http://opencv.jp/sample/filter_and_color_conversion.html#smooth]]
[[このページのトップへ戻る&gt;フィルタ処理#top]]
----
&amp;aname(平滑化（バイラテラルフィルタ）)
*平滑化（バイラテラルフィルタ）
-説明
--エッジ保持平滑化フィルタであるバイラテラルフィルタによって入力画像を平滑化する
-入力
-+平滑化する画像
-出力
-+平滑化された画像
-パラメータ
-+色のσ（この値が大きくなると，フィルタのポスタリゼーション効果が強くなる．）
-+空間のσ（この値が大きくなると，フィルタのブラー効果が強くなる．）
-リファレンス
--[[cvSmooth&gt;http://opencv.jp/opencv-1.1.0/document/opencvref_cv_filters.html#decl_cvSmooth]]
-サンプルなど
--[[OpenCV:平滑化&gt;http://opencv.jp/sample/filter_and_color_conversion.html#smooth]]
[[このページのトップへ戻る&gt;フィルタ処理#top]]
----
&amp;aname(単純平滑化（Blur）)
*単純平滑化（Blur）
-説明
--単純平滑化によって入力画像を平滑化する
-入力
-+平滑化する画像
-出力
-+平滑化された画像
-パラメータ
-+隣接領域の幅（必ず奇数）
-+隣接領域の高さ（必ず奇数）
-リファレンス
--[[cvSmooth&gt;http://opencv.jp/opencv-1.1.0/document/opencvref_cv_filters.html#decl_cvSmooth]]
-サンプルなど
--[[OpenCV:平滑化&gt;http://opencv.jp/sample/filter_and_color_conversion.html#smooth]]
[[このページのトップへ戻る&gt;フィルタ処理#top]]
----    </description>
    <dc:date>2009-10-07T01:21:17+09:00</dc:date>
    <utime>1254846077</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/ansoft/pages/20.html">
    <title>エッジ検出</title>
    <link>https://w.atwiki.jp/ansoft/pages/20.html</link>
    <description>
      &amp;aname(top)
*エッジ検出
輪郭抽出に関する各種アルゴリズムを提供する

----
#contents(fromhere)

----
&amp;aname(Canny)
*Canny
-説明
--Cannyアルゴリズムを用いてエッジを検出する
--出力は2値画像となる
-入力
-+エッジを検出するグレースケール（濃淡）画像
-出力
-+得られたエッジ
-パラメータ
-+エッジ同士を接続する閾値
-+エッジを検出する閾値
-リファレンス
--[[cvCanny&gt;http://opencv.jp/opencv-1.1.0/document/opencvref_cv_gradients.html#decl_cvCanny]]
-サンプルなど
--[[OpenCV: 勾配，エッジ，コーナー&gt;http://opencv.jp/sample/gradient_edge_corner.html]]
-サンプル
|&#039;&#039;入力&#039;&#039;|&amp;ref(http://www29.atwiki.jp/ansoft/pub/image/lena.jpg,,title=入力)|
|&#039;&#039;パラメータ&#039;&#039;|50, 200|
|&#039;&#039;出力&#039;&#039;|&amp;ref(canny_out.png,,title=出力)|

[[このページのトップへ戻る&gt;エッジ検出#top]]
----
&amp;aname(Sobel)
*Sobel
-説明
--微分画像の計算によってエッジを検出する
-入力
-+エッジを検出するグレースケール（濃淡）画像
-出力
-+得られた微分画像（エッジ）
-パラメータ
-+x方向の導関数の次数（0～2の整数）
-+y方向の導関数の次数（0～2の整数）
-リファレンス
--[[cvSobel&gt;http://opencv.jp/opencv-1.1.0/document/opencvref_cv_gradients.html#decl_cvSobel]]
-サンプルなど
--[[OpenCV: 勾配，エッジ，コーナー&gt;http://opencv.jp/sample/gradient_edge_corner.html]]
-サンプル
|&#039;&#039;入力&#039;&#039;|&amp;ref(http://www29.atwiki.jp/ansoft/pub/image/lena.jpg,,title=入力)|
|&#039;&#039;パラメータ&#039;&#039;|1, 0|
|&#039;&#039;出力&#039;&#039;|&amp;ref(sobel_out.png,,title=出力)|

[[このページのトップへ戻る&gt;エッジ検出#top]]
----
&amp;aname(Laplace)
*Laplace
-説明
--Sobel演算子を用いて計算されたxとyの2次微分を加算することで、入力画像のラプラシアンを計算する
--結果としてエッジが得られる
-入力
-+エッジを検出するグレースケール（濃淡）画像
-出力
-+得られたラプラシアン（エッジ）
-リファレンス
--[[cvLaplace&gt;http://opencv.jp/opencv-1.1.0/document/opencvref_cv_gradients.html#decl_cvLaplace]]
-サンプルなど
--[[OpenCV: 勾配，エッジ，コーナー&gt;http://opencv.jp/sample/gradient_edge_corner.html]]
-サンプル
|&#039;&#039;入力&#039;&#039;|&amp;ref(http://www29.atwiki.jp/ansoft/pub/image/lena.jpg,,title=入力)|
|&#039;&#039;出力&#039;&#039;|&amp;ref(laplace_out.png,,title=出力)|

[[このページのトップへ戻る&gt;エッジ検出#top]]
----    </description>
    <dc:date>2009-10-07T01:03:34+09:00</dc:date>
    <utime>1254845014</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/ansoft/pages/17.html">
    <title>算術演算</title>
    <link>https://w.atwiki.jp/ansoft/pages/17.html</link>
    <description>
      &amp;aname(top)
*算術演算
主に2つの画像（あるいは1つの画像と1つのスカラー値）のピクセル単位での画像処理を提供する

----
#contents(fromhere)

----
&amp;aname(加算)
*加算
-説明
--2つの画像の画素値を加算する
-入力
-+1番目の入力
-+2番目の入力
-出力
-+加算した画像
-リファレンス
--[[cvAdd&gt;http://opencv.jp/opencv-1.1.0/document/opencvref_cxcore_arithmetic.html#decl_cvAdd]]
[[このページのトップへ戻る&gt;算術演算#top]]
----
&amp;aname(減算)
*減算
-説明
--2つの画像の画素値を加算する
--値はマイナスにならず、0でクリッピングされる
-入力
-+分子となる画像
-+分母となる画像
-出力
-+除算した画像
-リファレンス
--[[cvSub&gt;http://opencv.jp/opencv-1.1.0/document/opencvref_cxcore_arithmetic.html#decl_cvSub]]
[[このページのトップへ戻る&gt;算術演算#top]]
----
&amp;aname(差分（絶対値）)
*差分（絶対値）
-説明
--2つの画像の差の絶対値を得る。
-入力
-+1番目の入力
-+2番目の入力
-出力
-+差分をとった画像
-リファレンス
--[[cvAbsDiff&gt;http://opencv.jp/opencv-1.1.0/document/opencvref_cxcore_arithmetic.html#decl_cvAbsDiff]]
-サンプル
|&#039;&#039;入力&#039;&#039;|&amp;ref(diff_in1.png,,title=入力1)|&amp;ref(diff_in2.png,,title=入力2)|
|&#039;&#039;出力&#039;&#039;|&gt;|CENTER:&amp;ref(diff_out.png,,title=出力)|
[[このページのトップへ戻る&gt;算術演算#top]]
----
&amp;aname(乗算)
*乗算
-説明
--2つの画像の画素値を乗算する
-入力
-+1番目の入力
-+2番目の入力
-出力
-+乗算した画像
-リファレンス
--[[cvMul&gt;http://opencv.jp/opencv-1.1.0/document/opencvref_cxcore_arithmetic.html#decl_cvMul]]
[[このページのトップへ戻る&gt;算術演算#top]]
----
&amp;aname(除算)
*除算
-説明
--1番目の入力画像の画素値を2番目の入力画像の画素値で除算する
-入力
-出力
-リファレンス
--[[cvDiv&gt;http://opencv.jp/opencv-1.1.0/document/opencvref_cxcore_arithmetic.html#decl_cvDiv]]
[[このページのトップへ戻る&gt;算術演算#top]]
----
&amp;aname(スカラー加算)
*スカラー加算
-説明
--入力画像の各画素に固定値を加算する
-入力
-+入力画像
-出力
-+加算した画像
-パラメータ
-+加算する値
-リファレンス
--[[cvAddS&gt;http://opencv.jp/opencv-1.1.0/document/opencvref_cxcore_arithmetic.html#decl_cvAddS]]
[[このページのトップへ戻る&gt;算術演算#top]]
----
&amp;aname(スカラー減算)
*スカラー減算
-説明
--入力画像の各画素から固定値を減算する
-入力
-+入力画像
-出力
-+減算した画像
-パラメータ
-+減算する値
[[このページのトップへ戻る&gt;算術演算#top]]
-リファレンス
--[[cvSubS&gt;http://opencv.jp/opencv-1.1.0/document/opencvref_cxcore_arithmetic.html#decl_cvSubS]]
----
&amp;aname(スカラー乗算)
*スカラー乗算
-説明
--入力画像の各画素に固定値を乗算する
-入力
-+入力画像
-出力
-+乗算した画像
-パラメータ
-+乗算する値
-リファレンス
--[[cvMulS&gt;http://opencv.jp/opencv-1.1.0/document/opencvref_cxcore_arithmetic.html#decl_cvMulS]]
[[このページのトップへ戻る&gt;算術演算#top]]
----
&amp;aname(スカラー除算)
*スカラー除算
-説明
--入力画像の各画素を固定値で除算する
-入力
-+入力画像
-出力
-+除算した画像
-パラメータ
-+除算する値
-リファレンス
--[[cvDivS&gt;http://opencv.jp/opencv-1.1.0/document/opencvref_cxcore_arithmetic.html#decl_cvDivS]]
[[このページのトップへ戻る&gt;算術演算#top]]
----    </description>
    <dc:date>2009-10-07T01:01:53+09:00</dc:date>
    <utime>1254844913</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/ansoft/pages/24.html">
    <title>その他</title>
    <link>https://w.atwiki.jp/ansoft/pages/24.html</link>
    <description>
      &amp;aname(top)
*その他
画像処理・解析に有用な処理を提供する

----
#contents(fromhere)

----
&amp;aname(単純コピー)
*単純コピー
-説明
--入力画像のコピーを作成する。
-入力
-+コピー元の画像
-出力
-+コピーされた画像
-リファレンス
--[[cvCopy&gt;http://opencv.jp/opencv-1.1.0/document/opencvref_cxcore_copy.html#decl_cvCopy]]
[[このページのトップへ戻る&gt;その他#top]]
----
&amp;aname(ゼロ初期化)
*ゼロ初期化
-説明
--入力画像と同じサイズの0で埋められた画像を作成する。
-入力
-+入力画像
-出力
-+0で埋められた画像
-リファレンス
--[[cvZero&gt;http://opencv.jp/opencv-1.1.0/document/opencvref_cxcore_copy.html#decl_cvZero]]
[[このページのトップへ戻る&gt;その他#top]]
----
&amp;aname(膨張)
*膨張
-説明
--入力画像のある画素の近傍に1つでも1（白）があればその画素を1にする膨張処理を行う。
-入力
-+膨張処理を行う画像
-出力
-+膨張された画像
-パラメータ
-+繰り返し回数
-リファレンス
--[[cvDilate&gt;http://opencv.jp/opencv-1.1.0/document/opencvref_cv_morphology.html#decl_cvDilate]]
-サンプルなど
--[[膨張・収縮処理&gt;http://mikilab.doshisha.ac.jp/dia/research/report/2002/0608/013/report20020608013.html]]
[[このページのトップへ戻る&gt;その他#top]]
----
&amp;aname(収縮)
*収縮
-説明
--入力画像のある画素の近傍に1つでも0（黒）があればその画素を0にする収縮処理を行う。
-入力
-+収縮処理を行う画像
-出力
-+収縮された画像
-パラメータ
-+繰り返し回数
-リファレンス
--[[cvErode&gt;http://opencv.jp/opencv-1.1.0/document/opencvref_cv_morphology.html#decl_cvErode]]
-サンプルなど
--[[膨張・収縮処理&gt;http://mikilab.doshisha.ac.jp/dia/research/report/2002/0608/013/report20020608013.html]]
[[このページのトップへ戻る&gt;その他#top]]
----
&amp;aname(オープニング)
*オープニング
-説明
--収縮→膨張の順に行うことで、白い雑音を除去するオープニング処理を行う。
-入力
-+オープニング処理を行う画像
-出力
-+オープニング処理を行った画像
-パラメータ
-+収縮と膨張の繰り返し回数
-リファレンス
--[[cvDilate&gt;http://opencv.jp/opencv-1.1.0/document/opencvref_cv_morphology.html#decl_cvDilate]]
--[[cvErode&gt;http://opencv.jp/opencv-1.1.0/document/opencvref_cv_morphology.html#decl_cvErode]]
-サンプルなど
--[[膨張・収縮処理&gt;http://mikilab.doshisha.ac.jp/dia/research/report/2002/0608/013/report20020608013.html]]
[[このページのトップへ戻る&gt;その他#top]]
----
&amp;aname(クロージング)
*クロージング
-説明
--膨張→収縮の順に行うことで、黒い雑音を除去するクロージング処理を行う。
-入力
-+クロージング処理を行う画像
-出力
-+クロージング処理を行った画像
-パラメータ
-+収縮と膨張の繰り返し回数
-リファレンス
--[[cvDilate&gt;http://opencv.jp/opencv-1.1.0/document/opencvref_cv_morphology.html#decl_cvDilate]]
--[[cvErode&gt;http://opencv.jp/opencv-1.1.0/document/opencvref_cv_morphology.html#decl_cvErode]]
-サンプルなど
--[[膨張・収縮処理&gt;http://mikilab.doshisha.ac.jp/dia/research/report/2002/0608/013/report20020608013.html]]
[[このページのトップへ戻る&gt;その他#top]]
----
&amp;aname(画像のリサイズ)
*画像のリサイズ
-説明
--画像を指定した幅、高さにリサイズする。
--補間の方法はバイキュービック補間である。
-入力
-+リサイズする画像
-出力
-+リサイズされた画像
-パラメータ
-+リサイズ後の幅
-+リサイズ後の高さ
-リファレンス
--[[cvResize&gt;http://opencv.jp/opencv-1.1.0/document/opencvref_cv_sampling.html#decl_cvResize]]
[[このページのトップへ戻る&gt;その他#top]]
----
&amp;aname(ヒストグラム均一化)
*ヒストグラム均一化
-説明
--入力画像のヒストグラムを均一化することでコントラストを強調する。
-入力
-+ヒストグラム均一化を行う画像
-出力
-+ヒストグラム均一化によってコントラストが強調された画像
-リファレンス
--[[cvEqualizeHist&gt;http://opencv.jp/opencv-1.0.0/document/opencvref_cv_histograms.html#decl_cvEqualizeHist]]
[[このページのトップへ戻る&gt;その他#top]]
----
&amp;aname(ヒストグラム生成)
*ヒストグラム生成
-説明
--画像中の画素の頻度を示すヒストグラムを生成する。
-入力
-+ヒストグラムを生成する画像
-出力
-+生成されたヒストグラム
-パラメータ
-+ヒストグラムの幅
-+ヒストグラムの高さ
-+最小値
-+最大値
-+ヒストグラムの分割数
-サンプルなど
--[[OpenCV:ヒストグラム&gt;http://opencv.jp/sample/histogram.html]]
[[このページのトップへ戻る&gt;その他#top]]
----
&amp;aname(Hue画像に色をつける)
*Hue画像に色をつける
-説明
--Hue（0～179）が格納された濃淡画像に色を付ける
-入力
-+Hue（0～179）が格納された濃淡画像
-出力
-+彩度，明度が最大になったカラー画像
[[このページのトップへ戻る&gt;その他#top]]
----    </description>
    <dc:date>2009-09-16T18:28:16+09:00</dc:date>
    <utime>1253093296</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/ansoft/pages/28.html">
    <title>今後の更新予定</title>
    <link>https://w.atwiki.jp/ansoft/pages/28.html</link>
    <description>
      &amp;aname(top)
*今後の更新予定
思いつきによるところが大きいですが、以下のような構想（妄想）があります、というところです。

要望などありましたらメールを送って頂くか、以下のコメントフォームへ記入をお願いします。

----
-Wikiの充実（チュートリアルを中心に随時）
-安定性向上、バグ修正（随時）
-画像処理の種類増加（随時）
-モジュール作成のサポート（できれば）
--.NETアセンブリ（済）
--Pythonによるスクリプト（予定あり）
--ネイティブC/C++（今のところ難しい）
-変数出力パス（画像から数値、領域などを出力する）の導入（余力あらば）
--動的なパラメータ設定の実現
--ROI（処理領域指定）の実現
--Hough変換、Haar-like物体検出の実現
----

- コメントフォームです。  -- 管理人  (2009-09-16 02:41:04)
#comment    </description>
    <dc:date>2009-09-16T02:42:47+09:00</dc:date>
    <utime>1253036567</utime>
  </item>
  </rdf:RDF>
