Inserting "missing" element in 1D vector - need to find out if!

1 view (last 30 days)
Hi.
I am trying to measure the location of "well defined" regular objects. In fact Im trying to measure the optical distortion in the x axis. Hence I create a "thinner" ROI from my full image, typically the full width but only about 20 pixels in height.
1: threshold the ROi image (ROIdist)
ROIbinary=ROIDist;
mn=mean(ROIDist(:))
sd=std(ROIDist(:))
thresh=mn+1.5*sd;
i = find ( ROIbinary <= thresh );
j = find ( ROIbinary > thresh );
ROIbinary(i) = 0; %CREATE BIMNNARY IMAGE FOR REGIONPROPS
ROIbinary(j) = 255;
2: I then use region props to obtain all the relevant info,in particular the centroid "x" location.
label = bwlabel(ROIbinary); %// label each object
stats = regionprops( label, ROIDist,'centroid', 'MeanIntensity','Area');
for x = 1:numel(stats)
plot(stats(x).Centroid(1),stats(x).Centroid(2),'b+');
cx(x)=stats(x).Centroid(1);
cy(x)=stats(x).Centroid(2);
area(x)=stats(x).Area;
pixvals(x) = ROIDist(round(cy(x)),round(cx(x))); %get intensity at centroid location
centroids(x,:)=[cx(x),cy(x),pixvals(x),area(x)];
end
this then allows me to compare the measured x locations with a well defined grid to hence measure the distortion. The problem is that my thresholding does occasionally, miss out one of the spots
Its seen below how its not picked out, and closer examination shows its quite week.
This is OK, unless there's an easy thresholding solution, I can manage with this IF I can insert a "dummy" x coordinate in the centroid x locations so that I have the correct number of elements to then subtract from the regular spaced vector. Being able to identify the spot too would be useful.
I'm not sure how to start on this one? How do I locate its missing without visually seeing the image and checking every part of it, I thought may diff could be used and if its too large then insert a point in between to two neigbours - but again not sure how to proceed.
thnaks
  1 Comment
Jason
Jason on 25 Oct 2016
I wonder if tt might be better to remove the appropriate element from my reference grid?

Sign in to comment.

Answers (0)

Community Treasure Hunt

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

Start Hunting!