为了完成根据显著图自动调整布局的算法,我们首先需要知道如何转化为数学问题。

- 设计->数学问题

图像本质上是一个二维的矩阵,于是,我们可以把问题转化为寻找二维矩阵中的最大子矩阵这么一个数学问题:

寻找二维矩阵的最大子矩阵

我们可以进一步把数学问题具体化,把问题转化为任务:

已知矩阵的大小定义为矩阵中所有元素的和。给定一个矩阵,你的任务是找到最大的非空(大小至少是1 × 1)子矩阵。

比如,如下4 × 4的矩阵

0  -2 -7  0
9  2 -6  2
-4  1 -4  1-1  8  0 -2

的最大子矩阵是

 9 2
-4 1-1 8

这个子矩阵的大小是15。

这样转化就可以直观地理解问题本身。找到了这个问题所属的“数学问题”,我们可以利用搜索引擎来找答案啦

经过一番搜索调研, 我们可以知道解法多样,主要是要考虑时间复杂度问题:

穷举法、记忆化、动态规划法

然后,找对应的编程语言实现即可。

- 设计规则如何用数学公式表达?

来一个例子,比如我们的设计规则是:

文字区域应尽可能少干扰图像内容的表达,

同时尽可能多地符合设计构图原则。

来条数学公式表达下,可以仔细品读下数学公式与设计规则的对应关系。

对于任意图像,若最优文字区域记为R∗(x,y,w,h),(x,y)为矩形区域左上角定点坐标,w为矩形框宽度,h为矩形框高度,求R的过程就是求最大子矩阵的过程。

备注:

HOFsal(i,j)是(i,j)这个点的显著性分值,Tsp(i,j)表示在(i,j)符合设计构图的程度。


欢迎加入mixlab社群交流;

或单独与我交流。

以上为全文。

如何把设计问题转化为数学问题,方法论相关推荐

  1. 连载32:软件体系设计新方向:数学抽象、设计模式、系统架构与方案设计(简化版)(袁晓河著)

    线性化 其实本章节的设置就显得有些为难,按照常理需要大家针对后面的"线性化机制"一章节进行充分理解后,我们才能更好的进行线性化的数学抽象.然而又为了照顾统一在数学抽象的章节中,所以 ...

  2. 连载32:软件体系设计新方向:数学抽象、设计模式、系统架构与方案设计(简化版)(袁晓河著)...

    线性化 其实本章节的设置就显得有些为难,按照常理需要大家针对后面的"线性化机制"一章节进行充分理解后,我们才能更好的进行线性化的数学抽象.然而又为了照顾统一在数学抽象的章节中,所以 ...

  3. xin片设计的中的数学问题

    xin片设计的中的数学问题(为了过审只能用拼音替代) 文章目录 xin片设计的中的数学问题(为了过审只能用拼音替代) 概述 EDA 简介 EDA 的主要工具和相关数学问题 数字全流程 工具 数学问题 ...

  4. 计算机 小学数学应用题教学设计,小学数学优秀教学设计让信息技术走进数学课堂...

    小学数学优秀教学设计让信息技术走进数学课堂 忠路民族小学   罗丽华 摘要:随着社会信息化的进一步加强,信息技术给教育带来了更深层次的影响,在小学数学教学中,适时恰当地选用现代教育技术来辅助教学,使学 ...

  5. 《架构设计2.0大型分布式系统架构方法论与实践》三高笔记

    目录 前言 高并发 高并发读 动静分离与CDN加速 缓存 并发读与Pipeline 重写轻读 读写分离 批量 高并发写 数据分片 任务分片 异步化 批量 高可靠 七板斧 高可用 高可用架构几个核心问题 ...

  6. 连载12:软件体系设计新方向:数学抽象、设计模式、系统架构与方案设计(简化版)(袁晓河著)...

    信息熵观点 针对软件设计来说,我们可以将所有的设计通过结构化来表达,于是我们的所有的设计信息都可以表达成结构熵的处理.那么如果系统的结构熵越大,系统就越不稳定,系统的有序化就越小. 那么是否结构化就表 ...

  7. 这些让人看瞎了的设计!实力证明,数学才是世界的最终boss!

    全世界只有3.14 % 的人关注了 青少年数学之旅 昨天小天刷微博,看到了一组动图,一时间我都不知道是我的眼睛出了错,还是我的大脑反应不过来. 奇了怪了!怎么箭头反转了180°后,还是原样!问题到底出 ...

  8. 连载08:软件体系设计新方向:数学抽象、设计模式、系统架构与方案设计(简化版)(袁晓河著)...

    置换的规范和度量 所以这里可以看出置换具有统一的"可替换"属性,在第二章描述的多重继承体.包含体.包容体.以及函数对象等多个结构中其置换都具有可互联的特征,比如多重继承就是将继承置 ...

  9. 连载13:软件体系设计新方向:数学抽象、设计模式、系统架构与方案设计(简化版)(袁晓河著)...

    置换的群特征 我们先来看看在计算机设计中最基本的三个置换,一个是从值到地址的置换方式,我们称为值-地址置换,一个是从地址到值的置换,我们称为地址-值置换.当然如果再加上对其值赋值为其他值操作或者对地址 ...

最新文章

  1. sql plus特殊使用技巧
  2. 2021年全球数据中心调查
  3. update-alternatives使用方法
  4. WebLogic下载地址
  5. git push出错 remote: Hook Error: request authorize server: curl error: Couldn't resolve host name
  6. python 局域网扫描_Python 简化版扫描局域网存活主机
  7. 7.Handling Missing Values
  8. 1619. [HEOI2012]采花
  9. [PhalApi实战篇(1)]Redis队列处理异步任务
  10. 浅谈C/C+内存管理、内存泄漏、堆栈
  11. ios ffmpeg h264 decode
  12. Java Web项目源码整合开发大合集
  13. 傲腾内存 可以用ghost系统_windows xp sp3安装包用傲腾技术打造专业修图电脑配置...
  14. 深入理解Builder模式(转载)
  15. 机器学习——葡萄酒分类问题(输入与输出维度相同)
  16. android 工程模式设置中文翻译,MTK工程模式(中文对照版本)与测试模式指令.doc
  17. 使用unity编写简单的弹幕游戏【ten seconds】
  18. 石油石化生产企业该如何防止电网晃电发生和发生晃电时保证敏感负荷的设备正常运行
  19. OCAD应用:双高斯照相物镜系统结构优化设计
  20. Java程序设计基础——简单Java程序

热门文章

  1. 一文带你读懂“经典TRIZ”
  2. 怎么更改计算机开机声音,电脑开机声音,详细教您电脑开机声音怎么更改
  3. 黑白激光打印机出现重影故障,原因与解决办法分析
  4. 基于java的网上水果销售管理系统
  5. unity 获取选中的目录_Unity的目录管理
  6. 服务器永久免费文件夹加密,云服务器文件夹加密
  7. DES密钥的校验位(parity bit)
  8. win10网络图标变地球
  9. 常见软路由 NAS 低功耗处理器的对比 截至2020-12 英特尔
  10. How to use Clang Static Analyzer