1function y = fcn(image, level)
 2%#codegen
 3coder.extrinsic('imresize','imshow','im2bw','imsubtract','graythresh');
 4coder.extrinsic('bwareaopen','regionprops');
 5
 6Scale = 1/4; %イメージの縮小倍率
 7yc= 0; %Y位置
 8
 9simage = imresize(image, Scale); %イメージの縮小
10sG_image = rgb2gray(simage); %gray scale
11
12sR_image = simage(:,:,1); %Red Image
13%sR_image = imresize(R_image, Scale); %イメージの縮小
14
15M_image = imsubtract(sR_image,sG_image); %sR_imageからsG_imageを減算
16%imshow(M_image);
17
18head = im2bw(M_image,level); %グレースケールからバイナリイメージへの変換
19%BW1 = bwareaopen(head, 15);
20%BW2 = regionprops(BW1,'Extrema');
21[gc,yc] = max(mean(head,2)); %カメラの上下方向位置
22
23
24y = -yc + (120 * Scale); % 中央値をゼロとするため、240pixの半分を引く
25
26%imshow(head); %画像出力
27