How can I assign a matrix to a grid on an image?

4 visualizaciones (últimos 30 días)
Jake
Jake el 28 de Mayo de 2013
I would like to split a 1000x1000 pixel image into 10x10 pixel boxes to form a grid. I would then like to assign a zero to each box in the grid using the zeros function to create a matrix where each element in the matrix represents a box in the grid. In this case, there should be 10,000 boxes in the grid, or elements in the matrix. Any help, tips would be appreciated, I am a beginner. Thanks!

Respuesta aceptada

Walter Roberson
Walter Roberson el 28 de Mayo de 2013
You can do it visually using the axis grid properties. You might have to uistack() to push the graphic "below" the axes.
When you get your data coordinates from ginut(), ceil(coordinates ./ 10) would be the location you would change.

Más respuestas (1)

Image Analyst
Image Analyst el 28 de Mayo de 2013
How about this:
yourMatrix(:) = 0;
It has the same effect as what you said - sets every pixel to zero.
  2 comentarios
Jake
Jake el 28 de Mayo de 2013
Editada: Jake el 28 de Mayo de 2013
Hmm, maybe my question was unclear. My main goal is to overlay a grid onto an image. Say the grid is four boxes. Then the "linked" matrix would be
0 0
0 0
I could first define the matrix as: Matrix = zeros(2). Eventually I'd like to use ginput to click on one of the boxes in the grid and change the matrix to something like
1 0
1 1
where the boxes I clicked changed the matrix to 1 at that spot
Image Analyst
Image Analyst el 28 de Mayo de 2013
I still don't understand. Wouldn't the grid cover up rows and columns of pixels? A grid has to be one pixel wide.

Iniciar sesión para comentar.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by