Почему в libvips появляется ошибка блокировки «vips_region_prepare»?

Мне нужно прочитать очень большое изображение, поэтому я использую libvips для чтения пикселей из изображения с областью. Основной код показан ниже:

      VipsImage *image = vips_image_new_from_file( filename, NULL );
VipsRegion *region = vips_region_new( image );

// ask for a 100x100 pixel region at 0x0 (top left)
VipsRect r = { left: 0, top: 0, width: 100, height: 100 };
if( vips_region_prepare( region, &r ) ) 
  vips_error( ... );

VipsPel *pixel = VIPS_REGION_ADDR( region, x, y );

Приведенный выше код действительно работал, но когда я хочу прочитать форму пикселей VipsRect r = { left: 100, top: 100, width: 100, height: 100 };, это не работает. Другими словами, независимо от того, что я меняю начальную позицию, я могу читать только пиксельную форму. VipsRect r = { left: 0, top: 0, width: 100, height: 100 };. Если вы столкнулись с подобными проблемами, жду вашего ответа!

0 ответов

Другие вопросы по тегам