Для эмуляции bwperim вы можете сделать
Mat m;
Mat dilated = m.clone(); dilate(dilated,one_pixel_wide_element);
Mat output = dilated - m;
где one_pixel_wide_element
может быть построен с использованием инструкций из opencv :
dilation_type = MORPH_RECT;
dilation_size = 1;
Mat element = getStructuringElement( dilation_type,
Size( 2*dilation_size + 1, 2*dilation_size+1 ),
Point( dilation_size, dilation_size ) );
Это дает внешнюю границу. Для внутренних границ эрозии (и m-eroded
).