- メインページ
- モジュール
- ネームスペース
- データ構造
- ファイル

関数
エッジ検出フィルタ

## 関数
template<class T1 , class T2 , class Allocator1 , class Allocator2 >
bool | mist::canny (const array2< T1, Allocator1 > &in, array2< T2, Allocator2 > &out, double lower, double upper, bool useL2gradient=false, const typename array2< T2, Allocator2 >::value_type &fgval=typename array2< T2, Allocator2 >::value_type(255), const typename array2< T2, Allocator2 >::value_type &bgval=typename array2< T2, Allocator2 >::value_type(0), typename array2< T2, Allocator2 >::size_type thread_num=0)
| Cannyのエッジ検出フィルタ

## 説明

次のヘッダをインクルードする
#include <mist/filter/edge.h>

## 関数

template<class T1 , class T2 , class Allocator1 , class Allocator2 >

bool mist::canny | ( | const array2< T1, Allocator1 > & | in,
|  | array2< T2, Allocator2 > & | out,
|  | double | lower,
|  | double | upper,
|  | bool | useL2gradient = `false`,
|  | const typename array2< T2, Allocator2 >::value_type & | fgval = `typename array2< T2, Allocator2 >::value_type( 255 )`,
|  | const typename array2< T2, Allocator2 >::value_type & | bgval = `typename array2< T2, Allocator2 >::value_type( 0 )`,
|  | typename array2< T2, Allocator2 >::size_type | thread_num = `0`
| ) |  |
| inline

Cannyのエッジ検出フィルタ

注意
  入力と出力は，同じオブジェクトでも正しく動作する
  OpenMPが有効な場合は自動的に並列計算が実行される

引数

  [in] | in | … 入力画像
  [out] | out | … 出力画像
  [in] | lower | … ヒステリシスしきい値処理の下限
  [in] | upper | … ヒステリシスしきい値処理の上限
  [in] | useL2gradient | … L2のグラディエントを計算するかどうか（デフォルトはfalse）
  [in] | fgval | … エッジ画素（前景）に代入する値（デフォルトは255）
  [in] | bgval | … 背景画素に代入する値（デフォルトは0）
  [in] | thread_num | … 使用するスレッド数

戻り値

  true | … フィルタリングに成功
  false | … 入力画像が空の場合

参照先 mist::convert(), mist::array< T, Allocator >::empty(), mist::array2< T, Allocator >::height(), mist::array2< T, Allocator >::resize(), mist::array2< T, Allocator >::reso(), mist::array1< T, Allocator >::reso1(), mist::array2< T, Allocator >::reso2(), mist::array< T, Allocator >::size(), と mist::array2< T, Allocator >::width().