thresholding for multiple values
6 次查看(过去 30 天)
显示 更早的评论
Hi all i have my thresholding code here and i am trying to do a thresholding processing for multiple types of thresholding in the same go!!!
I am new and i am not sure if this is possible but can a professional assist me where I am going wrong and add comments so that I get the understanding of it!!
I am getting loads of errors and I am not sure where to beging as a beginner!!
Thanks in advance for you consideration and assistance!!!
*********** My Code *******************************
b=imread("bird.jpg");
Gbird=rgb2gray(sc);
t=mean(Gbird(:));
t1=meadian(Gbird(:));
t2=[50,100,150,200];
[r, c]=size(Gbird);
Msc=zeros(r,c);
for i=1:r
for j=1:c
if Gbird(i,j)>t,t1;t2;
Msc(i,j)=1;
end
end
end
imshow(Msc), figure;
imshow(Gbird), figure;
imshow(sc), figure;
subplot(1,3,1), imshow(sc), title('Binary Image Of The Car');
subplot(1,3,2), imshow(Gbird), title('Grayscalee Image Of The Car');
subplot(1,3,3), imshow(Msc), title('Original Image Of The Car');
0 个评论
回答(2 个)
dpb
2019-8-7
t1=meadian(Gbird(:));
median is misspelled...
What do you want/expect as a result? Logicals don't work that way; you'll have to test for each level.
As written, even if the logical test worked, you would only have a '1' in the Msc array for all locations which had a value greater than the least of those in your list of various t* -- not a way to locate which would be greater than each threshold. To do that you would need to be able to store a logical plane for each of the levels--6 total so would need a r x c x 6 3D array.
The way to do something like this in ML would be to loop over the number of levels and do the logical test as vector operation. Something otoo--
...
thresh=[mean(Gbird(:));median(Gbird(:));[50:50:200].']; % the threshold levels desired
nTh=numel(thresh);
Msc=false([size(Gbird) nTh]);
for i=1:nTh
Msc(:,:,i)=(Gbird>thresh(i));
end
5 个评论
dpb
2019-8-7
I don't understand what it means "for the threshold equal to the values", sorry.
Where did this come from? Can you show a link to the original?
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!