不同物体类型的图像特征提取分析
1.问题描述:
将图像加载到matlab中,对数据进行统计分析和汇总,例如,可以从绘制每个图像的平均颜色值开始,可能是对同一类的图像进行分组。你也可以为不同的类制作颜色值的直方图。你看到任何证据表明不同的类可以被分类器分开吗?
2.部分程序:
clc;
clear;
close all;
%% 问题一
%step1:读取图片
[A01,A02,A03,A04,A05,A06,A07,A08,A09,A10,A11,A12,A13,A14,A15] = func_readimages_animals();
[B01,B02,B03,B04,B05,B06,B07,B08,B09,B10,B11,B12,B13,B14] = func_readimages_fruit();
[C01,C02,C03,C04,C05,C06,C07,C08,C09,C10,C11,C12,C13] = func_readimages_vegetables();
%step2:图片的平均颜色值
[RmeanA,GmeanA,BmeanA,averagesA] = func_mean_color_value_A(A01,A02,A03,A04,A05,A06,A07,A08,A09,A10,A11,A12,A13,A14,A15);
[RmeanB,GmeanB,BmeanB,averagesB] = func_mean_color_value_B(B01,B02,B03,B04,B05,B06,B07,B08,B09,B10,B11,B12,B13,B14);
[RmeanC,GmeanC,BmeanC,averagesC] = func_mean_color_value_C(C01,C02,C03,C04,C05,C06,C07,C08,C09,C10,C11,C12,C13);
save feature\01average\averagesA.mat averagesA;
save feature\01average\averagesB.mat averagesB;
save feature\01average\averagesC.mat averagesC;
%step3:图片的方差值
variances_animals = func_variance_A(A01,A02,A03,A04,A05,A06,A07,A08,A09,A10,A11,A12,A13,A14,A15);
variances_fruit = func_variance_B(B01,B02,B03,B04,B05,B06,B07,B08,B09,B10,B11,B12,B13,B14);
variances_vegetables = func_variance_C(C01,C02,C03,C04,C05,C06,C07,C08,C09,C10,C11,C12,C13);
figure;
plot(variances_animals,'r-*');hold on;
plot(variances_fruit,'k-*');hold on;
plot(variances_vegetables,'b-*');hold off;
legend('动物图片方差','水果图片方差','蔬菜图片方差');
save feature\02variances\variances_animals.mat variances_animals;
save feature\02variances\variances_fruit.mat variances_fruit;
save feature\02variances\variances_vegetables.mat variances_vegetables;
%step4:图片的熵
H_A = func_H_A(A01,A02,A03,A04,A05,A06,A07,A08,A09,A10,A11,A12,A13,A14,A15);
H_B = func_H_B(B01,B02,B03,B04,B05,B06,B07,B08,B09,B10,B11,B12,B13,B14);
H_C = func_H_C(C01,C02,C03,C04,C05,C06,C07,C08,C09,C10,C11,C12,C13);
figure;
plot(H_A,'r-*');hold on;
plot(H_B,'k-*');hold on;
plot(H_C,'b-*');hold off;
legend('动物图片熵','水果图片熵','蔬菜图片熵');
save feature\03H\H_A.mat H_A;
save feature\03H\H_B.mat H_B;
save feature\03H\H_C.mat H_C;
%step5:统计分布
func_hist_A(A01,A02,A03,A04,A05,A06,A07,A08,A09,A10,A11,A12,A13,A14,A15);
func_hist_B(B01,B02,B03,B04,B05,B06,B07,B08,B09,B10,B11,B12,B13,B14);
func_hist_C(C01,C02,C03,C04,C05,C06,C07,C08,C09,C10,C11,C12,C13);
%========================================================================
%========================================================================
%% 问题二:图像子采样和降纬
%图像子采样
level = 2;
resampling_A(A01,A02,A03,A04,A05,A06,A07,A08,A09,A10,A11,A12,A13,A14,A15,level);
resampling_B(B01,B02,B03,B04,B05,B06,B07,B08,B09,B10,B11,B12,B13,B14,level);
resampling_C(C01,C02,C03,C04,C05,C06,C07,C08,C09,C10,C11,C12,C13,level);
%图像降纬操作
PCA_A();
PCA_B();
PCA_C();
%========================================================================
%========================================================================
%% 问题三:分类
%k means
func_k_means(3);
%fuzzy C means
func_fcm;
%========================================================================
%========================================================================
%% 问题四:KNN,SVM分类
%KNN
func_knn();
%SVM
func_SVM();
%========================================================================
%========================================================================
%% 问题五:主要是问题的回答。不涉及到具体的代码;
3.仿真结论:
A02-09
相关文章
- STA分析(一) setup and hold
- [Android Pro] Android开发实践:自定义ViewGroup的onLayout()分析
- Java实现 LeetCode 795 区间子数组个数 (暴力分析)
- Android逆向分析(2) APK的打包与安装背后的故事
- PG&GP · 特性分析 · 外部数据导入接口实现分析
- 数学建模番外篇4:优秀论文插图整理&分析(2020年)
- Atitit Mysql查询优化器 存取类型 范围存取类型 索引存取类型 AND or的分析
- Atitit Mysql查询优化器 存取类型 范围存取类型 索引存取类型 AND or的分析
- SAP UI5 日期类型 sap.ui.model.type.Date 的显示格式问题分析
- 覆盖和覆盖D2D通信网络的传输容量分析(Matlab代码实现)
- WebRTC中的ulp fec实现分析
- x264参数介绍(帧类型和码率控制,分析和视频可用性信息)
- m无线通信的信道建模matlab仿真,仿真分析了6种不同的无线通信信道模型
- 【Linux 内核 内存管理】memblock 分配器 ② ( memblock_type 内存块类型 | memblock_type 结构体成员分析 )
- 【Android 逆向】Android 系统中文件的用户和分组 ( 文件所有者与分组 | /sdcard/ 的文件分组 | /data/ 目录分析 | 用户类型 )
- 爬虫日记(72):Scrapy安装程序入口点分析
- LCC编译器的源程序分析(12)自定义类型的声明
- LCC编译器的源程序分析(15)结构类型成员的声明
- 使用Windbg和IDA分析给被调用函数的std::string类型参数传递了空指针引发的崩溃
- NLP情感分析笔记(五):多类型情感分析
- LoadRunner——分析图详解(十四)