提交 7c71c8fa 编写于 作者: E Evgeny Talanin

#2258 fix

上级 9ab19691
...@@ -489,39 +489,37 @@ cvFloodFill( CvArr* arr, CvPoint seed_point, ...@@ -489,39 +489,37 @@ cvFloodFill( CvArr* arr, CvPoint seed_point,
if( is_simple ) if( is_simple )
{ {
/*int elem_size = CV_ELEM_SIZE(type); int elem_size = CV_ELEM_SIZE(type);
const uchar* seed_ptr = img->data.ptr + img->step*seed_point.y + elem_size*seed_point.x; const uchar* seed_ptr = img->data.ptr + img->step*seed_point.y + elem_size*seed_point.x;
// check if the new value is different from the current value at the seed point. for(i = 0; i < elem_size; i++)
// if they are exactly the same, use the generic version with mask to avoid infinite loops. if (seed_ptr[i] != nv_buf.b[i])
for( i = 0; i < elem_size; i++ )
if( seed_ptr[i] != ((uchar*)nv_buf)[i] )
break; break;
if( i == elem_size ) if (i != elem_size)
return;*/ {
if( type == CV_8UC1 )
if( type == CV_8UC1 ) icvFloodFill_CnIR(img->data.ptr, img->step, size, seed_point, nv_buf.b[0],
icvFloodFill_CnIR(img->data.ptr, img->step, size, seed_point, nv_buf.b[0], comp, flags, buffer, buffer_size);
comp, flags, buffer, buffer_size); else if( type == CV_8UC3 )
else if( type == CV_8UC3 ) icvFloodFill_CnIR(img->data.ptr, img->step, size, seed_point, cv::Vec3b(nv_buf.b),
icvFloodFill_CnIR(img->data.ptr, img->step, size, seed_point, cv::Vec3b(nv_buf.b), comp, flags, buffer, buffer_size);
comp, flags, buffer, buffer_size); else if( type == CV_32SC1 )
else if( type == CV_32SC1 ) icvFloodFill_CnIR(img->data.ptr, img->step, size, seed_point, nv_buf.i[0],
icvFloodFill_CnIR(img->data.ptr, img->step, size, seed_point, nv_buf.i[0], comp, flags, buffer, buffer_size);
comp, flags, buffer, buffer_size); else if( type == CV_32FC1 )
else if( type == CV_32FC1 ) icvFloodFill_CnIR(img->data.ptr, img->step, size, seed_point, nv_buf.f[0],
icvFloodFill_CnIR(img->data.ptr, img->step, size, seed_point, nv_buf.f[0], comp, flags, buffer, buffer_size);
comp, flags, buffer, buffer_size); else if( type == CV_32SC3 )
else if( type == CV_32SC3 ) icvFloodFill_CnIR(img->data.ptr, img->step, size, seed_point, cv::Vec3i(nv_buf.i),
icvFloodFill_CnIR(img->data.ptr, img->step, size, seed_point, cv::Vec3i(nv_buf.i), comp, flags, buffer, buffer_size);
comp, flags, buffer, buffer_size); else if( type == CV_32FC3 )
else if( type == CV_32FC3 ) icvFloodFill_CnIR(img->data.ptr, img->step, size, seed_point, cv::Vec3f(nv_buf.f),
icvFloodFill_CnIR(img->data.ptr, img->step, size, seed_point, cv::Vec3f(nv_buf.f), comp, flags, buffer, buffer_size);
comp, flags, buffer, buffer_size); else
else CV_Error( CV_StsUnsupportedFormat, "" );
CV_Error( CV_StsUnsupportedFormat, "" ); return;
return; }
} }
if( !mask ) if( !mask )
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册