赞
踩
一.总体介绍
(初学机器学习,如有不足,还望指出)
基于MATLAB平台进行编程绘制并处理,其中的带宽的选取为优化分析后得到的值,此次直接采用h为0.855。
根据图片的像素为576768个像素点,所以构造出f = zeros(576,768);根据函数公式来构造 G{a}=(1-(X{a}/h).2).*(1-(Y{a}/h).2).(1-(Z{a}/h).^2);函数公式。将图片信息导入MATLAB中,经过处理后便得到三维KDE示图,二值图像用,中值滤波简单消噪的二值图像.
二.具体的程序:
h=0.855;
%根据PPT中对h的讨论选取带宽 为0.855为恰当值
T = imread(’ C:\Users\Administrator\Desktop\KDE作业数据\测试数据集\frame_01.jpg’);
%将测试图像导入
T = im2double(T);
%对测试图像处理
for a = 1:20
S = strcat (‘C:\Users\Administrator\Desktop\KDE作业数据\训练数据集\ ‘, int2str(a) ,’.jpg’) ;
%将20幅训练图像导入
image = imread(S);
A{a} = im2double(image);
%对20幅训练图像处理
end
%上式为对训练图像的处理
for a=1:20
X{a}= A{a}(:,:,1)- T(:,:,1);
Y{a}= A{a}(:,:,2)- T(:,:,2);
Z{a}= A{a}(:,:,3)- T(:,:,3);
G{a}=(1-(X{a}/h).2).*(1-(Y{a}/h).2).(1-(Z{a}/h).^2);
end
%根据导入的数据构建一个核密度估计公式,函数公式由PPT获得
f = zeros(576,768);
%构造零矩阵
N=20;
%数据个数
for a=1:20
f=f+G{a};
end
%构建公式矩阵
F=15/(8piNh^3)*f;
%将3维超体体积带入得到 F函数
mesh(F),title(‘三维KDE示图’);
%生成三维KDE示图
x=graythresh(F);
%获得阈值
P=im2bw(F,x);
%二值图像
P1=medfilt2(P,[3,3]);
%用中值滤波简单消噪的二值图像
figure,imshow(~P);
%生成二值图像
figure,imshow(~P1);
%生成用中值滤波简单消噪的二值图像
三.图像序列一
第一个图像序列为PPT中提供所得,直接进行处理。第二张是二值图像,第三张是用中值滤波简单消噪的二值图像。
四.图像序列二
第二个图像序列来源是在腾讯视屏播放器上查找的路口监控视频,然后进行手机截屏,再利用计算机进行像素处理得到的图像序列。
第二张是二值图像,第三张是用中值滤波简单消噪的二值图像。检测出第二幅与第三幅差别并没有多大,分析原因可能是没有第一个图像序列中的干扰因素,也可能是由于图像处理的有点模糊造成的干扰不易去除。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。