/ / Encontrar la posición de la imagen rodeada por el área negra - matlab

encontrar la posición de la imagen surnudada por el área negra - matlab

Hay una imagen, rodeada por una región negra, me gustaría encontrar la ubicación exacta de esta imagen (que está rodeada por una región negra). Me refiero a las coordenadas de las cuatro esquinas de esta imagen. Gracias.

Respuestas

0 para la respuesta № 1

Si estás en matlab:

Enmascara la zona negra. O bien intente:

Image = logical(Image)

O encuentra la intensidad de un voxel negro (probablemente cero) y di:

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

Una vez que tenga la parte binaria no negra de la imagen (así que solo el objeto y no el fondo), solo desea encontrar las esquinas mínimas y máximas de cada vóxel. Decir:

[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)]

Donde c1, ..., c4 son tus rincones :)

Déjeme saber acerca de cualquier error de sintaxis, ya que no tengo acceso a matlab atm.

Tylerthemiler

Editar: si simplemente desea que todo el perímetro de la parte no negra de la imagen, simplemente realice cualquiera de las dos primeras líneas de código de arriba, y luego diga:

Imperim = bwperim(Image)

Edit2: Tenga en cuenta que Image es la matriz 2D, puede usar lo que quiera cargar en el jpg: P


1 para la respuesta № 2

Podrías aplicar una segunda máscara derivada en tuImagen que luego recogerá con precisión los puntos en los que el color va del negro al contenido de la imagen. Luego puede extraer la primera y la última fila y columna de cada una y obtener sus coordenadas.