- 追加された行はこの色です。
- 削除された行はこの色です。
- 画像のチャンネル へ行く。
画像のチャンネル(RGBなど)を分離,統合するcvSplitとcvMerge
#contents
*void cvSplit( IplImage* src, IplImage* blue, IplImage* green, IplImage* red, IplImage* alpha); [#s0ac5ff2]
srcを最大4枚の画像に分割する
**引数 [#u1d3269d]
-src:IplImage*型の原画像
-blue:IplImage*型の0枚目の成分
-green:IplImage*型の1枚目の成分
-red:IplImage*型の2枚目の成分
-alpha:IplImage*型の3枚目の成分
**返り値 [#n04c1f27]
-void型なのでなし
*cvMerge( IplImage* blue, IplImage* green, IplImage* red, IplImage* alpha, IplImage* dst ); [#de890fba]
最大4枚のチャンネルを1枚の画像に統合する
**引数 [#o9434bdb]
-blue:IplImage*型の0枚目の成分
-green:IplImage*型の1枚目の成分
-red:IplImage*型の2枚目の成分
-alpha:IplImage*型の3枚目の成分
-dst:IplImage*型の出力画像
**返り値 [#f4f3eda2]
-void型なのでなし
*解説 [#f5af4006]
-複数の画像に各成分を分離したり,1枚の画像に統合したりする
-各成分はNULLか0を指定することで省略可能
--引数自体は省略できない
-CvMat*型でも可能
-IplImage型では4チャンネルまでサポートしている
*サンプルコード [#v0ce851b]
IplImage *src = cvLoadImage( filename, CV_LOAD_IMAGE_COLOR); //カラー画像としてロード
IplImage *r = cvCreateImage( cvGetSize(src), IPL_DEPTH_8U, 1);
IplImage *g = cvCreateImage( cvGetSize(src), IPL_DEPTH_8U, 1);
IplImage *b = cvCreateImage( cvGetSize(src), IPL_DEPTH_8U, 1);
cvSplit( src, b, g, r, 0); //bに青色成分,gに緑色成分,rに赤色成分が格納される
*注意 [#q838cae3]
-IplImageではBGRの順に色が格納されている
**実体ファイル [#ad329331]
-OpenCV 1.1 以前
--cxcore/src/cxconvert.cpp
--cxcore/include/cxcore.h
-OpenCV 2.4
--modules/core/src/convert.cpp
--modules/include/opencv2/core/core_c.h
--modules/include/opencv2/core/core.hpp
ジャンル[[:OpenCV]][[:OpenCV 1.0]][[:OpenCV 2.4]]準拠