(一)先记下一些当时看的提取颜色特征的文章
http://blog.csdn.net/passball/article/details/5204132
//文章主要讲的是特征的定义以及各种特征提取和匹配的方法
http://blog.sina.com.cn/s/blog_adf19c8c0101hvhh.html
//(Matlab)实现HSV非等间隔量化--相似判断:欧式距离--输出图片
(二)附上当时做的笔记:
1.显示图像的颜色直方图
I=imread(‘lena.jpg’); %%读取图像
R=I(:,:,1);
G=I(:,:,2);
B=I(:,:,3);
figure,imhist(R); %%显示直方图
title(‘R’);
figure,imhist(G);
title(‘G’);
figure,imhist(B);
title(‘B’);
A = rgb2hsv(B) 将RGB颜色空间(B)转化为HSV颜色空间(A)
2.定义函数
function [输出变量] = 函数名称(输入变量)
% 注释
函数体
3.matlab编程为cell模式:以%%开头
4.
save example A B %将变量A,B存在文件example.mat里面
save(‘D:\example.mat’ ,’A’, ‘B’, ‘C’…) %保存到指定文件夹
save example %将当前所有变量存储到example.mat里面
读取:
load example
load example A
5.将数据存储到本地磁盘上
xlswrite(‘D:\writeExcel.xls’,w(:,249:257),’data’);%数据存储至D盘根目录下
//D:\writeExcel.xls 为存储路径及文件名
// w为需要存储的数据
//data为存储至Excel中的表单名
(三)附上提取颜色特征的代码:colorFeature.m(用的是颜色直方图)
%% I. 清空环境变量
clc;
clear;
%提取了所有训练集图片的特征,w:70*256 w存储70张训练集图片的256维颜色特征
%group:70*1 保存图像的分类信息
%将w和group存储在example.mat里面,用save函数 代码里没有包括,当时直接在命令窗口输入的。也可以直接用我已经生成的example.mat
% 循环读入图像
A=dir('F:\文件\dataset\家装图片集\所有图片\*.jpg'); %批量读取文件
w=zeros(70,256);
for k=1:size(A)
B=strcat('F:/文件/dataset/家装图片集/所有图片/',A(k).name);
%w(k,257)=str2num(A(k).name(1));
Image=imread(B);
%end
rs=size(Image);
M=rs(1);N=rs(2);
% 计算每一幅图像的颜色直方图
[h,s,v] = rgb2hsv(Image);
H = h; S = s; V = v;
h = h*360;
%将hsv空间非等间隔量化:
% h量化成16级;
% s量化成4级;
% v量化成4级;
for i = 1:M
for j = 1:N
if h(i,j)<=15||h(i,j