MIRS1404 管理台帳へ戻る

名称 MIRS1404 画像処理 関数レファレンス一覧
番号 MIRS1404-SOFT-0002
版数 最終更新日 作成 変更点 承認 改訂記事
A01 2014.12.16 石井建至 初版
A02 2015.01.30 石井建至 ニ値化関数の訂正 第2版

目次


  1. はじめに


    本ドキュメントはMIRS1404の画像処理プログラムの関数レファレンス等を記したドキュメントである。
    作成してからでないとわからないのでソフトウェア詳細設計書の内容と変更している場合がある。


  2. 使用関数一覧


    関数名 内容
    baloon_main この関数は怪盗機の画像処理を統括するmain関数、怪盗の移動方向推定する。
    baloon_direct カメラのキャプチャ、赤色検出、2値化、平滑化、円形検出の関数を統合した関数する。
    get1_img 1台目のカメラでキャプチャを行う。
    get2_img 2台目のカメラでキャプチャを行う。
    cv_ColorExtraction 赤色検出しその画像を2値化する。
    blackandwhite 画像の平滑化を行う。
    HoughCircles 円形を検出し、円の重心、半径を算出する。
    baloon_way 怪盗の移動方向の推定を行う。
    baloon_cross 怪盗がいるかどうかだけを2台のカメラを使って判断する。
    主に十字路で4方向を見るために使う。


  3. 関数の概要


    baloon_main
    関数名 baloon_main()
    定義ファイル名 baloon_main.c
    書式 baloon_main(int *dis, int *way)
    機能 画像処理の全てを統括し、必要なデータのみを取り出してMIRSのmain関数に渡す。
    引数 int型のポインタ *disは2回目にキャプチャしたときの怪盗との距離を渡す。
    int型のポインタ *wayは怪盗機の移動方向を表す数字を渡す。動かない場合"11"、右に移動した場合"1"、左に移動した場合"-1"を渡す。

    戻り値 int型を用いる。画像処理成功のとき"1"を返し、画像処理失敗のとき"0"を返す。
    baloon_direct
    関数名 baloon_direct()
    定義ファイル名 baloon_direct.c
    書式 baloon_direct(int *x_cood, int *y_cood, int *L2)
    機能 カメラのキャプチャ、赤色検出、2値化、平滑化、円形検出の関数を統合し、実行する。
    引数 int型のポインタ *x_coodは円の重心のx座標のデータを渡す。
    int型のポインタ *y_coodは円の重心のy座標のデータを渡す。
    int型のポインタ *L2は怪盗までの距離のデータを渡す。
    戻り値 int型を用いる。画像処理成功の場合"1"を返し、画像処理失敗のとき"-1"を返す。
    get1_img
    関数名 get1_img()
    定義ファイル名 get1_img.c
    書式 get1_img("./img/出力ファイル名.jpg", IMG_X, IMG_Y)
    機能 1台目のカメラでキャプチャを行う。解像度を表す、IMG_Xは320、IMG_Yは240をdefine.hで定義してある。
    引数 char型のポインタを用い、キャプチャした画像のファイル名を決定する。
    戻り値 int型を用いる。キャプチャ成功の場合"0"を返し、キャプチャ失敗のとき"0"以外を返す。
    get2_img
    関数名 get2_img()
    定義ファイル名 get2_img.c
    書式 get2_img("./img/出力ファイル名.jpg", IMG_X, IMG_Y)
    機能 2台目のカメラでキャプチャを行う。解像度を表す、IMG_Xは320、IMG_Yは240をdefine.hで定義してある。
    引数 char型のポインタを用い、キャプチャした画像のファイル名を決定する。
    戻り値 int型を用いる。キャプチャ成功の場合"0"を返し、キャプチャ失敗のとき"0"以外を返す。
    cv_ColorExtraction
    関数名 cv_ColorExtraction()
    定義ファイル名 cv_ColorExtraction.c
    書式 cv_ColorExtraction(IplImage* src_img, IplImage* dst_img,int code,int ch1_lower, int ch1_upper,int ch2_lower, int ch2_upper,int ch3_lower, int ch3_upper)
    機能 赤色検出しその画像を2値化する。
    引数 src_imgは入力画像(8bit3ch)
    dst_imgは出力画像(8bit3ch)
    codeは色空間の指定(CV_BGR2HSV,CV_BGR2Labなど)
    ch1_lowerはch1のしきい値(小)
    ch1_upperはch1のしきい値(大)
    ch2_lowerはch2のしきい値(小)
    ch2_upperはch2のしきい値(大)
    ch3_lowerはch3のしきい値(小)
    ch3_upperはch3のしきい値(大)
    戻り値 void型を用いる。(引数なし)
    blackandwhite
    関数名 blackandwhite()
    定義ファイル名 blackandwhite.c
    書式 blackandwhite(IplImage *src,IplImage *dst, int sflag)
    機能 ガウシアンフィルタで平滑化を行う。
    引数 IplImage型のポインタ *srcは入力画像
    IplImage型のポインタ *dstは出力画像
    int型のsflagは"1"のとき平滑化画像を出力する。それ以外の数字は画像を出力しない。
    戻り値 void型を用いる。(引数なし)
    HoughCircles
    関数名 HoughCircles()
    定義ファイル名 HoughCircles.c
    書式 HoughCircles(IplImage* input_img, int *r, int *x, int *y)
    機能 円形の検出、検出した円の重心の計算、半径の算出を行う。
    引数 IplImage型のポインタ *inputは入力画像
    int型のポインタ *rは検出した円の半径を表す。
    int型のポインタ *xは検出した円の重心のx座標を表す。
    int型のポインタ *yは検出した円の重心のy座標を表す。
    戻り値 void型を用いる。(引数なし)
    baloon_way
    関数名 baloon_way()
    定義ファイル名 baloon_way.c
    書式 baloon_way(int one, int sec)
    機能 怪盗の移動方向の推定を行う。
    引数 int型のoneは1回目に検出した円の重心のx座標を表す。
    int型のsecは2回目に検出した円の重心のx座標を表す。
    戻り値 int型を用いる。怪盗機が動かない場合"11"、右に移動した場合"1"、左に移動した場合"-1"を渡す。
    2台目のカメラの場合は"22"、"2"、"-2"を返すようにする。
    baloon_cross
    関数名 baloon_cross()
    定義ファイル名 baloon_cross.c
    書式 baloon_cross()
    機能 怪盗がいるかどうかだけを2台のカメラを使って判断する。
    引数 引数なし
    戻り値 int型を用いる。カメラ1で怪盗を発見したとき"1"を返し、カメラ2で怪盗を発見したとき"2"を返し、両方のカメラで怪盗が発見できなかったとき"0"を返す。






MIRS1404ドキュメント管理台帳