决策树算法在计算机视觉中的应用附matlab代码

简介: 决策树算法在计算机视觉中的应用附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法  神经网络预测雷达通信 无线传感器

信号处理图像处理路径规划元胞自动机无人机 电力系统

⛄ 内容介绍

ID3算法是数据挖掘决策树算法中应用比较广泛的算法.本文采用ID3算法对发动机功率不足故障中的决策树进行研究与分析,针对ID3算法中的不足,提出一种基于Matlab的决策树算法,此算法根据输入的不同样本值,通过改变其权值来该决定输出值,使所得的决策树更合理,高效.本文实现决策树算法在计算机视觉中的应用。

⛄ 部分代码

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%功能:演示决策树算法在计算机视觉中的应用

%基于C4.5决策树实现图像二值化;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

close all; clear; clc;

%% Step 1  载入图像

Image = imread('flower_test.png');

Mask = imread('flower_mask.png');

figure; imshow(Image); title('Used Image');

figure; imshow(Mask); title('Used Mask');

% In the Mask:

%           Mask(i,j) = 0   -> class 0

%           Mask(i,j) = 255 -> class 1

%           Mask(i,j) = 128 -> unknown

%% Step 2 选择训练数据

[M,N,L] = size(Image);

Data = reshape(Image,[M*N,3]);

pID = find(Mask==255);

nID = find(Mask==0);

pNum = size(pID,1);

nNum = size(nID,1);

%

TrainData = [Data(pID,:);Data(nID,:)]';

TrainValue = [1*ones([pNum,1]);0*ones([nNum,1])]';

TrainNum = pNum + nNum;

%% Step 3 训练

DivNum = 32;

TrainDataFeatures = uint8(TrainData/DivNum)+1;

Nbins = max(TrainDataFeatures(:));

inc_node = TrainNum*10/100;

discrete_dim = [Nbins,Nbins,Nbins];

tree = BuildC45Tree(TrainDataFeatures, TrainValue, inc_node, discrete_dim, max(discrete_dim));

%% Step 4 测试

TestDataFeatures = uint8(Data'/DivNum)+1;

targets = UseC45Tree(TestDataFeatures, 1:M*N, tree, discrete_dim, unique(TrainValue));

Results = reshape(targets,[M,N]);

%

figure; imshow(Results,[]); title('C4.5 Classification Results')

⛄ 运行结果

⛄ 参考文献

[1]李园园. 决策树算法实现及其在信用风险控制中的应用[D]. 山东大学, 2013.

⛄ Matlab代码关注

❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料


相关文章
|
23天前
|
机器学习/深度学习 算法 搜索推荐
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)
|
14天前
|
机器学习/深度学习 人工智能 算法
图像处理与分析:Python中的计算机视觉应用
【4月更文挑战第12天】Python在计算机视觉领域广泛应用,得益于其丰富的库(如OpenCV、Pillow、Scikit-image)和跨平台特性。图像处理基本流程包括获取、预处理、特征提取、分类识别及重建生成。示例代码展示了面部和物体检测,以及使用GAN进行图像生成。
|
6天前
|
机器学习/深度学习 人工智能 算法
基于DCT和扩频的音频水印嵌入提取算法matlab仿真
本文介绍了结合DCT和扩频技术的音频水印算法,用于在不降低音质的情况下嵌入版权信息。在matlab2022a中实现,算法利用DCT进行频域处理,通过扩频增强水印的隐蔽性和抗攻击性。核心程序展示了水印的嵌入与提取过程,包括DCT变换、水印扩频及反变换步骤。该方法有效且专业,未来研究将侧重于提高实用性和安全性。
|
2天前
|
机器学习/深度学习 算法 数据挖掘
R语言逻辑回归、Naive Bayes贝叶斯、决策树、随机森林算法预测心脏病
R语言逻辑回归、Naive Bayes贝叶斯、决策树、随机森林算法预测心脏病
|
7天前
|
算法
代码随想录算法训练营第六十天 | LeetCode 84. 柱状图中最大的矩形
代码随想录算法训练营第六十天 | LeetCode 84. 柱状图中最大的矩形
18 3
|
8天前
|
算法
代码随想录算法训练营第五十七天 | LeetCode 739. 每日温度、496. 下一个更大元素 I
代码随想录算法训练营第五十七天 | LeetCode 739. 每日温度、496. 下一个更大元素 I
12 3
|
8天前
|
算法
代码随想录算法训练营第五十六天 | LeetCode 647. 回文子串、516. 最长回文子序列、动态规划总结
代码随想录算法训练营第五十六天 | LeetCode 647. 回文子串、516. 最长回文子序列、动态规划总结
30 1
|
9天前
|
机器学习/深度学习 算法 数据可视化
样条曲线、决策树、Adaboost、梯度提升(GBM)算法进行回归、分类和动态可视化
样条曲线、决策树、Adaboost、梯度提升(GBM)算法进行回归、分类和动态可视化
13 0
|
9天前
|
算法 DataX
二叉树(中)+Leetcode每日一题——“数据结构与算法”“剑指Offer55-I. 二叉树的深度”“100.相同的树”“965.单值二叉树”
二叉树(中)+Leetcode每日一题——“数据结构与算法”“剑指Offer55-I. 二叉树的深度”“100.相同的树”“965.单值二叉树”
|
10天前
|
文字识别 算法 计算机视觉
图像倾斜校正算法的MATLAB实现:图像倾斜角检测及校正
图像倾斜校正算法的MATLAB实现:图像倾斜角检测及校正
15 0