![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/186660/image.png)
otsu's code
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
I need code to segment red area only from this image
1 comentario
KALYAN ACHARJYA
el 29 de Ag. de 2017
Editada: KALYAN ACHARJYA
el 29 de Ag. de 2017
Otsu code use for Global Thresholding.
[T SM]=graythresh(input gray image);
Where T=Threshold>output from following code function otsuthresh SM=Separability Measure
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/186660/image.png)
Source: Gonzalez Book (Image Processing+Matlab)
Respuestas (2)
KALYAN ACHARJYA
el 29 de Ag. de 2017
%if true
function [T,SM]=otsuthresh(h);
h=h/sum(h);
h=h(:);
i=(1:numel(h))';
P1=cumsum(h);
m=cumsum(i.*h);
mG=m(end);
sigSquared=((mG*P1-m).^2)./(P1.*(1-P1)+eps);
maxSigsq=max(sigSquared);
T=mean(find(sigSquared==maxSigsq));
T=(T-1)/(numel(h)-1);
SM=maxSigsq/(sum(((i-mG).^2).*h)+eps);
% end
0 comentarios
Image Analyst
el 29 de Ag. de 2017
shaimaa, you would NOT use Otsu for that. You need to do it "manually". First identify the values of the starting and ending thermal values in your image. Let's say the red range starts at 32 degrees and ends at 33 degrees. So then to segment out those temperatures, you'd do
binaryImage = themalImage > 32 & thermalImage < 33;
0 comentarios
Ver también
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!