Обрезать изображение после сшивания

После того, как я сшил 2 изображения с помощью OpenCV C ++, я хочу обрезать изображение, чтобы удалить черную область вокруг сшитого изображения. Я потеряю часть изображения, но это нормально. изображение выглядит так:

введите описание изображения здесь

Как я могу найти углы изображения и обрезать всю черную область ??

Если есть хорошие ссылки, пожалуйста, предоставьте мне некоторые из них.

С Уважением,

1

Решение

Я использовал этот фрагмент кода из руководства разработчика DJI (поиск в разделе «Обрезка панорамы»). https://dji-dev.gitbooks.io/mobile-sdk-tutorials/content/en/iOS/PanoDemo/PanoDemo_en.html#stitching-photos

На первый взгляд, алгоритм не выглядит очень надежным, но пока он оказался достаточно хорошим для моих сшиваемых сценариев использования. Тем не менее, я считаю, что код получил пару ошибок в этих двух строках

bool isBottomNotBlack=checkBlackRow(gray, roiRect.y+roiRect.height,roiRect);
bool isRightNotBlack=checkBlackColumn(gray, roiRect.x+roiRect.width,roiRect);

который должен быть изменен на

bool isBottomNotBlack=checkBlackRow(gray, roiRect.y+roiRect.height-1,roiRect);
bool isRightNotBlack=checkBlackColumn(gray, roiRect.x+roiRect.width-1,roiRect);

В противном случае вы можете получить ошибочную избыточную ошибку несистематического C.
Надеюсь, это поможет!

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]