Info
此问题已关闭。 请重新打开它进行编辑或回答。
How can I find the value with the most change in my histogram?
2 次查看(过去 30 天)
显示 更早的评论
[N,edges] = histcounts(Y);
min = mean();
[k1,k2,k3]=size(imYuv) %Size of the picture
for i=1:k1
for j=1:k2
if Y(i,j)>min
Y(i,j)=0;
end
end
end
imYuv(:,:,1)=Y;
final = colorspace('RGB<-YUV',imYuv);
![HIstogram1.jpg](https://www.mathworks.com/matlabcentral/answers/uploaded_files/242467/HIstogram1.jpeg)
I know the value is around .64 something.
But im trying to automated so it can select that for my threshold value.
4 个评论
Image Analyst
2019-10-13
I don't understand. Do you just want to blacken any values higher than 0.67? Or is it variable? Because you have lots of minimums all over the place. If it's variable then how are we supposed to know to take the min between 0.5 and 0.7 and not the min between 0.5 and 0.35, or any other min?
回答(1 个)
KALYAN ACHARJYA
2019-10-13
编辑:KALYAN ACHARJYA
2019-10-13
More detail with example:
data=[1 2 -4 5 6 0 5 20 10]; % Hist data is just simillar array
diff_data=diff(data)
idx=find(diff_data==max(diff_data));
threshold=data(idx+1)
2 个评论
KALYAN ACHARJYA
2019-10-20
You can get it just see the maximum different (with neighbours) in number of pixels (N).
此问题已关闭。
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!