2016-03-15 4 views
0

Я писал код обнаружения текста, и я работаю с бинарной картой в качестве маски для работы с изображением. После того, как я получу области текста кандидата, я применяю функцию bwconncomp на изображении после нанесения маски на нее, чтобы получить положение этих регионов.Matlab - указатели пикселей изображения в функции bwconncomp

Теперь я создал цикл, чтобы отбросить области, которые не удовлетворяют некоторым «предложениям». Когда этого не произойдет, я поместил все пиксели в этой области в 0 (image(cc.PixelIdxList{region})=0) и то же самое с бинарной картой (map(cc.PixelIdxList{region})=0).

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

Итак, я предполагаю, что пиксельные индексы, которые bwconncomp дает пикселам на изображении, не совсем такие же, как на карте, поэтому некоторые пиксели на карте не стираются, когда они должны быть. Я прав? Или я должен искать где-то еще?

+3

Можете ли вы показать нам соответствующий код? Трудно сказать, что может быть неправильно, не видя этого – Suever

ответ

0

Я использовал изображение в градациях серого, чтобы вычислить связанные компоненты, а не бинарную карту, поэтому, когда в некоторых из этих регионов были пиксели со значением 0, функция bwconncomp вычислила их, поскольку они не были частью региона. Итак, когда я удалил область, эти пиксели остались в значении 0, а пиксели на карте не были стерты.

Смежные вопросы