Info

Diese Frage ist geschlossen. Öffnen Sie sie erneut, um sie zu bearbeiten oder zu beantworten.

Exclude point from my regression

1 Ansicht (letzte 30 Tage)
valerio auricchio
valerio auricchio am 5 Nov. 2020
Geschlossen: MATLAB Answer Bot am 20 Aug. 2021
Hi I'm doing regression with this code
I=imread('Immage.bmp')
%find the min and max
minimo= min(I(:))
massimo=max(I(:))
[r, c] = find(I>=224 & I<=225)
coefficients = polyfit(r, c, 1);
%xFit = x; % Option 1 : same number of points as the training set.
xFit = linspace(min(r), max(r), 2000); % Option 2 : lots of points, and not just where the training points are.
yFit = polyval(coefficients, xFit);
imshow(I)
hold on
plot(r, c, 'r*', 'LineWidth', 2, 'Markersize', 6)
hold on;
plot(xFit, yFit, 'm-', 'LineWidth', 5)
hold on;
line([1,2448],[1024,1024]);
'r' and 'c' are two vector thaht rappresent the coordinates (X,Y) of the pixel. I want to remove the pixel where the intensity is lower than a parameter. How can i do that?
  2 Kommentare
KSSV
KSSV am 5 Nov. 2020
You cannot remove that pixle.......but you can replace that with some other value.
valerio auricchio
valerio auricchio am 5 Nov. 2020
I do not want to remove pixel i want to exclude them form the regression

Antworten (1)

KSSV
KSSV am 5 Nov. 2020
Bearbeitet: KSSV am 5 Nov. 2020
Let I be your m*n image.
[m,n] = size(I) ;
[X,Y] = meshgrid(1:n,1:m) ;
[r, c] = find(I>=224 & I<=225) ;
% Get the pixel values at r, c
p = interp2(X,Y,I,r,c) ; % if it throws error comvert I into double
% Let pi be pixel values you want to remove
idx = p == pi ; % idx = abs(p-pi)<=10^-3
r(idx) = []; c(idx) =[] ; % remove those points which have pi pixel
  13 Kommentare
valerio auricchio
valerio auricchio am 6 Nov. 2020
range 170 180
KSSV
KSSV am 6 Nov. 2020
I am not getting any error....the given code is working fine.

Diese Frage ist geschlossen.

Produkte


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by