| 查看: 435 | 回复: 0 | ||
[求助]
matlab 颜色直方图可以转化为数据输出吗
|
本人菜鸟,最近论文涉及到图像色彩分析的问题。本人也并非计算机软件相关专业的,对程序语言理解能力有限,所以有些问题想求助各位大神们。![]() 言归正传,本人找了一些已有的matlab代码,一般的思路是将1)RGB空间的图转换为HSV空间——2)图像进行非均匀等级量化——3)生成颜色直方图,想请问在第三步时,我除了想生成颜色直方图,还想将量化的各类色彩像素数量导出到excel中,如何实现?是否有合适的代码? 另附我找到的有关代码:(来源https://gist.github.com/seaslee/4078376)%============================= %颜色特征提取,hsv颜色空间,使用颜色直方图,采用非均匀量化 %============================= function fc=color(imgname) %tic img=imread(imgname); hsv=rgb2hsv(img); %将hsv特征进行非均匀的量化 [height,width,dim]=size(hsv); len=256; fc=zeros(1,len); for i=1:height, for j=1:width, H=hsv(i,j,1)*360; S=hsv(i,j,2); V=hsv(i,j,3); %非均匀化H if H<=15 || H>345, h=0; elseif H>15 && H<=25, h=1; elseif H>25 && H<=45, h=2; elseif H>45 && H<=55, h=3; elseif H>55 && H<=80, h=4; elseif H>80 && H<=108, h=5; elseif H>108 && H<=140, h=6; elseif H >140 && H<=165, h=7; elseif H >165 && H<=190, h=8; elseif H>190 && H<=220, h=9; elseif H>220 && H<=255, h=10; elseif H>255 && H<=275, h=11; elseif H>275 && H<=290, h=12; elseif H>290 && H<=316, h=13; elseif H>316 && H<330, h=14; else h=15; end %非均匀化S if S >=0 && S<=0.15, s=0; elseif S>0.15 && S<=0.4, s=1; elseif S>0.4 && S<=0.75, s=2; else s=3; end %非均匀化V if V >=0 && V<=0.15, v=0; elseif V>0.15 && V<=0.4, v=1; elseif V>0.4 && V<=0.75, v=2; else v=3; end %计算L L=16*h+4*s+v+1; fc(L)=fc(L)+1; end end fc=fc/sum(fc); %toc end ![]() |
» 猜你喜欢
一志愿重庆大学085700资源与环境总分308求调剂
已经有6人回复
268求调剂
已经有7人回复
302求调剂
已经有11人回复
306求调剂
已经有4人回复
材料学学硕080502 337求调剂-一志愿华中科技大学
已经有4人回复
求调剂
已经有6人回复
313求调剂
已经有3人回复
南昌大学材料专硕311分求调剂
已经有6人回复
316求调剂
已经有6人回复
346求调剂[0856]
已经有7人回复














另附我找到的有关代码:(来源
回复此楼