Intensity of each pixel frawn on an image

1 visualización (últimos 30 días)
U B
U B el 6 de Dic. de 2021
Comentada: U B el 6 de Dic. de 2021
I want to find out the intensity of every pixel if i draw a line on one image.
Im using the below code for drawing a line. Initial valu of (xi,yi) = (353,216) and the final value is (xf,yf) = (553,216).
I = imread('figure63.png');
figure, imshow(I)
hold on
p1 = [353,216];
p2 = [553,216];
plot([p1(1),p2(1)],[p1(2),p2(2)],'Color','m','LineWidth',1)
If I want intensity of every pixel of this line as a column matrix, how do I use imaprofile or I need to use something else?

Respuesta aceptada

KSSV
KSSV el 6 de Dic. de 2021
Editada: KSSV el 6 de Dic. de 2021
Read about interp2. You can use interp2 for this.
I = imread('figure63.png');
[m,n,p] = size(I) ;
[X,Y] = meshgrid(1:n,1:m) ;
% Line points
p1 = [353,216];
p2 = [553,216];
% Form a line using polyfit
p = polyfit([p1(1);p2(1)],[p1(2);p2(2)],1) ;
x = linspace(p1(1),p2(1)) ;
y = polyval(p,x) ;
%
iwant = zeros(length(x),p) ;
% Assuming image to RGB
for i = 1:p
iwant(:,i) = interp2(X,Y,I(:,:,i),x,y)
end
end
figure, imshow(I)
hold on
plot(x,y,'Color','m','LineWidth',1)
  3 comentarios
KSSV
KSSV el 6 de Dic. de 2021
It is problem with inputs to polyfit, you need to input like shown:
p = polyfit([p1(1);p2(1)],[p1(2);p2(2)],1) ;
Edited the code too.
U B
U B el 6 de Dic. de 2021
got it.

Iniciar sesión para comentar.

Más respuestas (1)

Walter Roberson
Walter Roberson el 6 de Dic. de 2021
I(p1(2), p1(1):p2(1))
except you should use min and max to ensure that you get increasing order for the column numbers.
This depends on the y coordinates being the same and being integers, a horizontal line. You could use similar logic for a vertical line.
If you need a slanted line then you need improfile or go directly for interp2 which is what improfile uses internally.

Categorías

Más información sobre Denoising and Compression en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by