2014年第三届数学建模国际赛小美赛B题全地形伪装解题全过程文档及程序

本文主要是介绍2014年第三届数学建模国际赛小美赛B题全地形伪装解题全过程文档及程序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2014年第三届数学建模国际赛小美赛

B题 全地形伪装

原题再现:

  破坏性着色在军事用途中很常见,用于军用车辆、士兵制服和装备。视觉是人类的主要方向感,伪装的主要功能是欺骗人眼。军事服装中存在大量的伪装图案,以适应作战服装与特殊地形(如林地、雪地、沙漠)的匹配需要。一些伪装图案设计用于各种条件。请建立一个模型来分析各种图案的低能见度效果,开发一种定量的伪装效果评估方法,并设计出适合大多数环境的理想伪装织物图案。
  除了你的格式化解决方案,准备一个一到两页的广告页网站突出你的设计和伪装效果。

整体求解过程概述(摘要)

  战士在各种地貌环境中作战,往往需要与周围环境交融,穿着迷彩服,隐藏自己。因而有丛林迷彩、沙漠迷彩、雪地迷彩等多种迷彩服装。迷彩服具有优异的性能,适合不同地理环境的迷彩“全地形迷彩”。迷彩发射迫在眉睫。

  基于遗传算法的伪装图案优化设计模型首先讨论了目标背景色差对伪装效果的影响。考虑色差时的前向能见度表达式和计算方法,以及考虑色差时的大气透明状态分析结果和计算结果,得出不同条件下不同参数对我们伪装的初步结论。为了解决迷彩图案设计问题,在分析遗传算法特点的基础上,分析了影响迷彩图案设计颜色、形状和纹理等因素,利用层次分析法和基于信息熵的权重计算模型对目标函数进行研究,建立了迷彩图案的优化设计模型,结合面积、亮度和对比度、光斑大小、纹理等阈值距离约束,采用遗传算法求解目标函数。

  为了定量评价伪装效果,提出了一种基于傅里叶变换的纹理分析方法。利用MATLAB软件进行分析,首先指出了伪装效果评价过程中存在的指标权重因素,建立了指标权重分布信息熵模型和基于指标体系的层次聚类算法,对样本矩阵构建指标对象的归一化。根据归一化矩阵,建立样本对象索引相似度矩阵。即通过大量的实验结果对各个指标进行权重计算,然后通过权重矩阵得到所设计的伪装图像的伪装效果进行综合定量分析。算例表明,伪装设计在沙漠、林地和城市特定作业区的全地形伪装效果并不突出,但综合加权统计效果明显。实际测量值与典型的多背景匹配,验证了该方法的有效性。

模型假设:

  (1) 使用几种简单的颜色来模拟自然背景纹理;

  (2) 选取多种典型背景图像,模拟各种地形、地理战场环境;

  (3) 傅里叶变换谱基本上没有无噪声;

问题重述:

  色彩的破坏性使用在军事上非常普遍,如军用车辆、军服和士兵装备等。伪装的主要功能是欺骗人眼。战士在各种地形环境中作战,往往需要穿着迷彩服与周围环境融合才能隐藏自己,因而有丛林迷彩、沙漠迷彩、雪地迷彩等多种迷彩服。

  根据作战区域的背景光谱特征,海军陆战队采用丛林和沙漠两种色调的迷彩作战服,前者采用绿色渐变图案,主要用于森林或丛林作战,而采用棕色匹配的棕褐色沙漠迷彩用于干旱地区作战。

  为了满足跨区域伪装作战的需要,在伪装图案设计中提出了通用伪装图案的概念,即利用数字化伪装在多环境下具有良好的适应性,以满足不同区域伪装的作战要求。鉴于黑色在自然界并不常见,观察夜视后会形成非常清晰的轮廓,所以伪装图案排除黑色。通用伪装图案的伪装效果并不突出,在特定的地理防治荒漠化、森林和城市等方面,但经过整体加权统计后效果更为显著。

  这就要求我们设计出适合多地形环境的“全地形伪装”是积极发展起来的,具有优异的伪装服性能,并针对不同地理环境引入伪装,步骤如下:

  (1) 建立了模型,分析了各种模式对各种低能见度的影响,提出了伪装效果的定量评价方法。

  (2) 为大多数环境设计理想的迷彩纺织图案。

  (3) 除了格式化解决方案,准备你的表一个网站的一到两页的设计和突出你的伪装效果。

模型的建立与求解整体论文缩略图

在这里插入图片描述
在这里插入图片描述

全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

部分程序代码:(代码和文档not free)

load A ; 
[ V, D] = eig s( A) ;
tbmax= max ( D( : ) ) ; 
[ m, n] = size( V ) ; 
RI = [ 0. 00 0. 00 0. 58 0. 90 1. 12 1. 24 1. 32 1. 41 1. 45] ;
CI = ( tbmax- n) / ( n- 1) ;
CR = CI / RI ( 1, n) ;
clc, clear
load zbg j 
Y = pdist( X , 'minkowski') ;
YC = squar efo rm( Y)
Z = linkage( Y, 'sing le')
[ h, t] = dendr og ram( Z) ;
C = co phenet( Z, Y)
clc, clear 
load x ; 
et a = [ 0. 2498 0. 0220 0. 0665 0. 0513 0. 1614 0. 0981 0.
0719 0. 0207 0. 0985 0. 0608 0. 0136 0. 0294 0. 0560 ] ;
f = ones( 13, 6) ;
fo r j = 1: 1 :13
end 
Gray = imread('F:\1.jpg');
[M,N,O] = size(Gray);
M = 128; 
N = 128;
for i = 1:Mfor j = 1:Nfor n = 1:256/16if (n-1)*16<=Gray(i,j)&Gray(i,j)<=(n-1)*16+15Gray(i,j) = n-1;endendend
end
for m = 1:16for n = 1:16for i = 1:Mfor j = 1:Nif j<N&Gray(i,j)==m-1&Gray(i,j+1)==n-1P(m,n,1) = P(m,n,1)+1;P(n,m,1) = P(m,n,1);endif i>1&j<N&Gray(i,j)==m-1&Gray(i-1,j+1)==n-1P(m,n,2) = P(m,n,2)+1;P(n,m,2) = P(m,n,2);endif i<M&Gray(i,j)==m-1&Gray(i+1,j)==n-1P(m,n,3) = P(m,n,3)+1;P(n,m,3) = P(m,n,3);endif i<M&j<N&Gray(i,j)==m-1&Gray(i+1,j+1)==n-1P(m,n,4) = P(m,n,4)+1;P(n,m,4) = P(m,n,4);endendendif m==nP(m,n,:) = P(m,n,:)*2;endend
end
for n = 1:4P(:,:,n) = P(:,:,n)/sum(sum(P(:,:,n)));
end
H = zeros(1,4);
I = H;
Ux = H; Uy = H;
deltaX= H; deltaY = H;
C =H;
for n = 1:4E(n) = sum(sum(P(:,:,n).^2)); for i = 1:16for j = 1:16if P(i,j,n)~=0H(n) = -P(i,j,n)*log(P(i,j,n))+H(n); endI(n) = (i-j)^2*P(i,j,n)+I(n); Ux(n) = i*P(i,j,n)+Ux(n);Uy(n) = j*P(i,j,n)+Uy(n); endend
end
for n = 1:4for i = 1:16for j = 1:16deltaX(n) = (i-Ux(n))^2*P(i,j,n)+deltaX(n);deltaY(n) = (j-Uy(n))^2*P(i,j,n)+deltaY(n); C(n) = i*j*P(i,j,n)+C(n); endendC(n) = (C(n)-Ux(n)*Uy(n))/deltaX(n)/deltaY(n); 
end
a1 = mean(E) 
b1 = sqrt(cov(E))
a2 = mean(H) 
b2 = sqrt(cov(H))
a3 = mean(I) 
b3 = sqrt(cov(I))
a4 = mean(C)
b4 = sqrt(cov(C))
msgbox({'1.:a1=',num2str(a1),'b1=',num2str(b1),'',num2str(a2),'b2=',num2str(b2),'a3 =
',num2str(a3),'b3=',num2str(b3),'a4 = ',num2str(a4),'b4=',num2str(b4),' E=',num2str(E),'H =
',num2str(H),'I=',num2str(I),'C=',num2str(C)},'纹理特征');
全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

这篇关于2014年第三届数学建模国际赛小美赛B题全地形伪装解题全过程文档及程序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/542711

相关文章

python获取指定名字的程序的文件路径的两种方法

《python获取指定名字的程序的文件路径的两种方法》本文主要介绍了python获取指定名字的程序的文件路径的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 最近在做项目,需要用到给定一个程序名字就可以自动获取到这个程序在Windows系统下的绝对路径,以下

C#实现一键批量合并PDF文档

《C#实现一键批量合并PDF文档》这篇文章主要为大家详细介绍了如何使用C#实现一键批量合并PDF文档功能,文中的示例代码简洁易懂,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言效果展示功能实现1、添加文件2、文件分组(书签)3、定义页码范围4、自定义显示5、定义页面尺寸6、PDF批量合并7、其他方法

Java实现在Word文档中添加文本水印和图片水印的操作指南

《Java实现在Word文档中添加文本水印和图片水印的操作指南》在当今数字时代,文档的自动化处理与安全防护变得尤为重要,无论是为了保护版权、推广品牌,还是为了在文档中加入特定的标识,为Word文档添加... 目录引言Spire.Doc for Java:高效Word文档处理的利器代码实战:使用Java为Wo

使用Python实现Word文档的自动化对比方案

《使用Python实现Word文档的自动化对比方案》我们经常需要比较两个Word文档的版本差异,无论是合同修订、论文修改还是代码文档更新,人工比对不仅效率低下,还容易遗漏关键改动,下面通过一个实际案例... 目录引言一、使用python-docx库解析文档结构二、使用difflib进行差异比对三、高级对比方

Python自动化处理PDF文档的操作完整指南

《Python自动化处理PDF文档的操作完整指南》在办公自动化中,PDF文档处理是一项常见需求,本文将介绍如何使用Python实现PDF文档的自动化处理,感兴趣的小伙伴可以跟随小编一起学习一下... 目录使用pymupdf读写PDF文件基本概念安装pymupdf提取文本内容提取图像添加水印使用pdfplum

Python从Word文档中提取图片并生成PPT的操作代码

《Python从Word文档中提取图片并生成PPT的操作代码》在日常办公场景中,我们经常需要从Word文档中提取图片,并将这些图片整理到PowerPoint幻灯片中,手动完成这一任务既耗时又容易出错,... 目录引言背景与需求解决方案概述代码解析代码核心逻辑说明总结引言在日常办公场景中,我们经常需要从 W

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Redis实现分布式锁全过程

《Redis实现分布式锁全过程》文章介绍Redis实现分布式锁的方法,包括使用SETNX和EXPIRE命令确保互斥性与防死锁,Redisson客户端提供的便捷接口,以及Redlock算法通过多节点共识... 目录Redis实现分布式锁1. 分布式锁的基本原理2. 使用 Redis 实现分布式锁2.1 获取锁

Spring-DI依赖注入全过程

《Spring-DI依赖注入全过程》SpringDI是核心特性,通过容器管理依赖注入,降低耦合度,实现方式包括组件扫描、构造器/设值/字段注入、自动装配及作用域配置,支持灵活的依赖管理与生命周期控制,... 目录1. 什么是Spring DI?2.Spring如何做的DI3.总结1. 什么是Spring D

C#高效实现Word文档内容查找与替换的6种方法

《C#高效实现Word文档内容查找与替换的6种方法》在日常文档处理工作中,尤其是面对大型Word文档时,手动查找、替换文本往往既耗时又容易出错,本文整理了C#查找与替换Word内容的6种方法,大家可以... 目录环境准备方法一:查找文本并替换为新文本方法二:使用正则表达式查找并替换文本方法三:将文本替换为图