mirror of
https://github.com/opencv/opencv.git
synced 2024-11-29 13:47:32 +08:00
#2258 fix
This commit is contained in:
parent
9ab19691d4
commit
7c71c8fa52
@ -489,39 +489,37 @@ cvFloodFill( CvArr* arr, CvPoint seed_point,
|
||||
|
||||
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;
|
||||
|
||||
// check if the new value is different from the current value at the seed point.
|
||||
// if they are exactly the same, use the generic version with mask to avoid infinite loops.
|
||||
for( i = 0; i < elem_size; i++ )
|
||||
if( seed_ptr[i] != ((uchar*)nv_buf)[i] )
|
||||
for(i = 0; i < elem_size; i++)
|
||||
if (seed_ptr[i] != nv_buf.b[i])
|
||||
break;
|
||||
|
||||
if( i == elem_size )
|
||||
return;*/
|
||||
|
||||
if( type == CV_8UC1 )
|
||||
icvFloodFill_CnIR(img->data.ptr, img->step, size, seed_point, nv_buf.b[0],
|
||||
comp, flags, buffer, buffer_size);
|
||||
else if( type == CV_8UC3 )
|
||||
icvFloodFill_CnIR(img->data.ptr, img->step, size, seed_point, cv::Vec3b(nv_buf.b),
|
||||
comp, flags, buffer, buffer_size);
|
||||
else if( type == CV_32SC1 )
|
||||
icvFloodFill_CnIR(img->data.ptr, img->step, size, seed_point, nv_buf.i[0],
|
||||
comp, flags, buffer, buffer_size);
|
||||
else if( type == CV_32FC1 )
|
||||
icvFloodFill_CnIR(img->data.ptr, img->step, size, seed_point, nv_buf.f[0],
|
||||
comp, flags, buffer, buffer_size);
|
||||
else if( type == CV_32SC3 )
|
||||
icvFloodFill_CnIR(img->data.ptr, img->step, size, seed_point, cv::Vec3i(nv_buf.i),
|
||||
comp, flags, buffer, buffer_size);
|
||||
else if( type == CV_32FC3 )
|
||||
icvFloodFill_CnIR(img->data.ptr, img->step, size, seed_point, cv::Vec3f(nv_buf.f),
|
||||
comp, flags, buffer, buffer_size);
|
||||
else
|
||||
CV_Error( CV_StsUnsupportedFormat, "" );
|
||||
return;
|
||||
if (i != elem_size)
|
||||
{
|
||||
if( type == CV_8UC1 )
|
||||
icvFloodFill_CnIR(img->data.ptr, img->step, size, seed_point, nv_buf.b[0],
|
||||
comp, flags, buffer, buffer_size);
|
||||
else if( type == CV_8UC3 )
|
||||
icvFloodFill_CnIR(img->data.ptr, img->step, size, seed_point, cv::Vec3b(nv_buf.b),
|
||||
comp, flags, buffer, buffer_size);
|
||||
else if( type == CV_32SC1 )
|
||||
icvFloodFill_CnIR(img->data.ptr, img->step, size, seed_point, nv_buf.i[0],
|
||||
comp, flags, buffer, buffer_size);
|
||||
else if( type == CV_32FC1 )
|
||||
icvFloodFill_CnIR(img->data.ptr, img->step, size, seed_point, nv_buf.f[0],
|
||||
comp, flags, buffer, buffer_size);
|
||||
else if( type == CV_32SC3 )
|
||||
icvFloodFill_CnIR(img->data.ptr, img->step, size, seed_point, cv::Vec3i(nv_buf.i),
|
||||
comp, flags, buffer, buffer_size);
|
||||
else if( type == CV_32FC3 )
|
||||
icvFloodFill_CnIR(img->data.ptr, img->step, size, seed_point, cv::Vec3f(nv_buf.f),
|
||||
comp, flags, buffer, buffer_size);
|
||||
else
|
||||
CV_Error( CV_StsUnsupportedFormat, "" );
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if( !mask )
|
||||
|
Loading…
Reference in New Issue
Block a user