资源简介
HC.zip
代码片段和文件信息
%% 读取图片
img=imread(‘D:\大三下资料\图像目标探测,跟踪与识别技术\实验\实验四\MSRA10K\images\124.jpg‘);
img=im2double(img);
%% 色调分离
Rchannel=img(::1); %分离三通道
Gchannel=img(::2);
Bchannel=img(::3);
N=12; %色阶数为12
Step=1/(N-1);
T(1:N)=0; %色阶区间
for i=1:N
T(i)=(i-1)*Step;
end
[rowscols]=size(Rchannel);
for i=1:rows
for j=1:cols
Rchannel(ij)=T(floor(Rchannel(ij)/Step)+1);
Gchannel(ij)=T(floor(Gchannel(ij)/Step)+1);
Bchannel(ij)=T(floor(Bchannel(ij)/Step)+1);
end
end
img(::1)=Rchannel; %通道合并
img(::2)=Gchannel;
img(::3)=Bchannel;
clear N Step;
%至此,256*256*256的颜色被分配到12*12*12的新颜色空间中
%% 建立直方图,寻找高频颜色
img12=img*11+1; %使img范围为1~12,方便计算
colorSpace=zeros(121212); %创建12*12*12的RGB颜色空间
for i=1:rows
for j=1:cols
r=img12(ij1); %计算颜色空间中的颜色向量
g=img12(ij2);
b=img12(ij3);
colorSpace(rgb)=colorSpace(rgb)+1;
end
end
%已经建立颜色空间(直方图),下面寻找高频颜色
totalPixel=0; %用于记录已经数过的像素
colorNum=0; %用于记录高频颜色个数
while totalPixel<(0.95*rows*cols) %当数过的像素小于95%总像素时,继续数
maxProp=max(max(max(colorSpace))); %找到像素数最多的那个颜色
sameNum=length(colorSpace(colorSpace==maxProp)); %重复概率的数量
totalPixel=totalPixel+sameNum*maxProp;
colorNum=colorNum+sameNum;
colorSpace(colorSpace==maxProp)=-1; %使数过的空间位置置-1,表示此点属于高频颜色点
end
clear totalPixel;
%已经找到高频颜色,下面将低频颜色分配到最近的高频颜色中
[r0g0b0]=ind2sub(size(colorSpace)find(colorSpace==-1)); %找到空间中所有高频颜色的空间位置
while ~isempty(colorSpace(colorSpace>0)) %当颜色空间中还有未分配的颜色时,继续循环
maxProp=max(max(max(colorSpace)));
[rgb]=ind2sub(size(colorSpace)find(colorSpace==maxProp)); %找到剩余最高频颜色所在的空间位置
colorSpace(colorSpace==maxProp)=-2;
for i=1:length(r)
distance=zeros(length(r0)1);
for j=1:length(r0) %遍历所有高频颜色位置
distance(j)=(r(i)-r0(j))^2+(g(i)-g0(j))^2+(b(i)-b0(j))^2; %求出距离(的平方)
end
minD=min(distance); %最近的距离
label=find(distance==minD); %找到最小距离对应的序号
rGive=r0(label(1));
gGive=g0(label(1));
bGive=b0(label(1)); %(rGivegGivebGive)即是给(r(i)g(i)b(i))分配的颜色
for m=1:rows
for n=1:cols
if img12(mn1)==r(i) && img12(mn2)==g(i) && img12(mn3)==b(i)
img12(mn1)=rGive;
img12(mn2)=gGive;
img12(mn3)=bGive;
end
end
end
end
end
clear r0 g0 b0 r g b r1 b1 g1 label minD maxProp distance rGive gGive bGive;
%% 计算显著性
%某个颜色的显著性即该颜色与其他所有颜色之间的距离之和
[r0g0b0]=ind2sub(size(colorSpace)find(colorSpace==-1)); %找到空间中所有高频颜色的空间位置
S=zeros(length(r0)1); %显著性
result=zeros(rowscols); %结果矩阵
for i=1:length(r0)
for j=1:length(r0)
if j==i
continue
end
S(i)=S(i)+sqrt((r0(i)-r0(j))^2+(g0(i)-g0(j))^2+(b0(i)-b0(j))^2);
end
for m=1:rows
for n=1:cols
if img12(mn1)==r0(i) && img12(mn2)==g0(i) && img12(mn3)==b0(i)
result(mn)=S(i);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3505 2018-05-10 21:05 calculateHC.m
文件 123 2018-05-08 23:40 normalization.m
相关资源
- CM93_WF834.torrent
- iar.cc.complier.v8.20.2.4.1139.for.8051-patch.
- tiankaijifa-20190122.rar
- bipyqf.rar
- 图书管理系统流程图
- 可信软件设计.txt
- 宾馆管理系统.suo
- 你们一直要找的Vuejs商城的Django前端代
- vivo步步高全系列官方线刷包解账户锁
- ft3i0y.rar
- 北京理工大学数据结构编程练习答案
-
VLCMediaPla
yerforUnitywithYoutube.txt - structspringhibernate.txt
- 宿舍管理系统.rar
- CSDN.doc
- test2_DXF_cc.rar
- ex6btr.zip
- 64466UniPatcher_v2017.4.rar
- 马士兵版坦克大战.zip
- 百度地址.txt
- 2fp2iu.zip
- 02-Spark离线和实时电影推荐系统直播回
- gps.pdf
- Unity破解工具_UniPatcher2018_v1.zip
- 安卓1003个实战项目pdf.zip
- 共享单车.txt
- bookstore.rar
- gamehelp2.rar
- Qt_USB_I2C_MPU6050.rar
- 智慧考试ewei_examV3.9.2.1.rar
评论
共有 条评论