How to find the dimensions of a specific area in an existing image?

2 visualizaciones (últimos 30 días)
Alexander West
Alexander West el 9 de Abr. de 2019
Comentada: Alexander West el 9 de Abr. de 2019
Say I'm given an image with a rectangular space made entirely of green pixels. I want to find the dimension of that area that is made entirely of green pixels.
This is what I have so far:
numGreenPixels=img(:,:,1)==0 & img(:,:,2)==255 & img(:,:,3)==0
numGreenPixels = sum(numGreenPixels(:));
this would only given me the total number of green pixels, when I need to find the dimension of said space. How do I go about this?
  2 comentarios
KSSV
KSSV el 9 de Abr. de 2019
when I need to find the dimension of said space.
YOu can find the dimensions if you can arrange the data into a matrix form......is your green region a square/ rectangle? If it is taking some other irregular shape, how you will specify the dimensions?
Alexander West
Alexander West el 9 de Abr. de 2019
It is always a rectangle/square, sorry if I didn’t specify.

Iniciar sesión para comentar.

Respuestas (1)

KSSV
KSSV el 9 de Abr. de 2019
Editada: KSSV el 9 de Abr. de 2019
In that case......the length of unique of x,y should give you the dimensions. You have numGreenPixels as a matrix of 0 and 1's.
[y,x] = find(numGreenPixels) ;
If it is not clear attach your image.
  1 comentario
Alexander West
Alexander West el 9 de Abr. de 2019
function refrigerator(fridge,picNeed)
img=imread(picNeed)
background=imread(fridge);
r=(img(:,:,1))
g=(img(:,:,2))
b=(img(:,:,3))
numGreenPixels=img(:,:,1)==0 & img(:,:,2)==255 & img(:,:,3)==0
[y,x] = find(numGreenPixels) ;
background=imresize(background,[x,y])
[w,r] = strtok(fridge,'.')
newFile= ['decorated_' w r]
imwrite(img,newFile)
end
Doing this returns an error with the resize function? Logically, it should work right?

Iniciar sesión para comentar.

Categorías

Más información sobre Read, Write, and Modify Image en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2018b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by