To select the indices of logical "1" in first 2D matrix, and then replace those corresponding indices in second 2D matrix with logical "0"

Dear Researchers and Programmers,
I have 2D matirx with logical 1, and 0. I need to select the indices having logical value 1.
Then in the second matrix, I want to replace those indices with zero.
I have attached both the matrices one is binary image and other is processed image.
I look forward to receive your valueable suggestions.
Many thanks.

 Respuesta aceptada

Use logical indexing (Ch 11 of MATLAB Onramp)
A = randi([0 3],5)
A = 5×5
1 0 1 1 2 0 3 1 2 3 3 3 1 2 2 0 1 0 2 0 2 1 0 0 3
B = rand(5);
B(A==1) = 0
B = 5×5
0 0.5810 0 0 0.1176 0.7124 0.2019 0 0.8901 0.0881 0.5986 0.7831 0 0.6246 0.6896 0.2216 0 0.0883 0.1362 0.5453 0.9653 0 0.8447 0.6397 0.7059

3 comentarios

Thank you so much dear @Cris LaPierre for your promot answer.
this operation again output in logical image,
In the second matrxi I need to replace only those indices with zero (which I select in the 1st matrix) rest of the matrix must contains same values as before, varying from [0 700]
If you are getting a logical output, you have not done what I showed. In my example, B is an array of doubles, not logicals. You use a logical array to perform the indexing (A==1). The assumption is that A and B are the same size.
Yes you are right, It works now. Fantastic.
Many thanks once again.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Images en Centro de ayuda y File Exchange.

Productos

Versión

R2022a

Preguntada:

el 18 de Mzo. de 2022

Comentada:

el 18 de Mzo. de 2022

Community Treasure Hunt

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

Start Hunting!

Translated by