найти положение изображения, окруженного черной областью - PullRequest
0 голосов
/ 06 сентября 2011

Существует изображение, окруженное черной областью, я хотел бы найти точное местоположение этого изображения (которое окружено черной областью).Я имею в виду координаты четырех углов этого изображения.Спасибо.

Ответы [ 2 ]

1 голос
/ 07 сентября 2011

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

0 голосов
/ 08 сентября 2011

Если вы находитесь в Matlab:

Маскировать черную область. Либо попробуйте:

Image = logical(Image)

Или найдите интенсивность черного вокселя (вероятно, ноль) и скажите:

Image = ind2sub(size(Image), find(Image ~= blackPixelIntensity))

Как только у вас есть бинарная не черная часть изображения (т.е. просто объект, а не фон), вы просто хотите найти минимальные, максимальные углы каждого вокселя. Скажи:

[x y] = ind2sub(size(Image), find(Image ~= 0))
c1 = [min(x) min(y)]
c2 = [max(x) min(y)]
c3 = [max(x) max(y)]
c4 = [min(x) min(y)]

Где c1, ..., c4 - ваши углы :)

Позвольте мне знать о любой синтаксической ошибке, так как у меня нет доступа к matlab atm.

tylerthemiler

Изменить: если вы просто хотите, чтобы весь периметр не черной части изображения, просто сделайте, что из первых двух строк кода выше работает, а затем скажите:

Imperim = bwperim(Image)

Edit2: обратите внимание, что Image является 2D-массивом, вы можете использовать все, что вы хотите загрузить в JPG: P

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...