![]() |
如何在MATLAB中重新实现基于颜色的直方图,基于颜色的特征提取并测量图像中的特征?
对于这张[URL="http://img214.imageshack.us/img214/617/dsc047751.jpg"]图片[/URL] :
[LIST=1][*]绘制颜色的R,G,B分量的直方图(不使用imhist)[*]将图片转换为二进制,使昆虫的棕色外骨骼为白色测量昆虫的外骨骼的宽度和高度[/LIST][B]编辑:[/B] 1:我做到了: a = imread('C:\a.jpg'); r = a(:,:,1); g = a(:,:,2); b = a(:,:,3); rhist = zeros(1,256); [wh] = size(a(:,:,1)); for i=1:w for j=1:h rhist(r(i,j)+1) = rhist(r(i,j)+1)+1; end end rhist(x)是等于x-1的红色强度的计数 现在我只需要一点帮助,如何将数据绘制为直方图 2:仍然不知道:(。我使用的im2bw具有不同的第二个参数,但这无济于事。 我猜有些模糊可能会有所帮助? 3:也不知道 [B]回答:[/B] 这是我的IMHIST版本: I = imread('pic.jpg'); II = double(I); clr = 'rgb'; clrTxt = {'Red' 'Green' 'Blue'}; for i=1:3 h = subplot(3,1,i); c = histc(reshape(II(:,:,i),[],1), 0:255); bar(0:255, c./max(c), 'histc') set(gca, 'XLim', [0 255], 'YLim',[0 1]) set(findobj(h,'Type','patch'), 'FaceColor',clr(i), 'EdgeColor','none') ylabel(clrTxt{i}) end xlabel('Intensity') [IMG]https://i.stack.imgur.com/GmfVj.png[/IMG] [url=https://stackoverflow.com/questions/3961971]更多&回答...[/url] |
所有时间均为北京时间。现在的时间是 23:32。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.