怎样判断一幅图片的主色调

Sodar 2007-11-22 03:17:04
一幅图片,想通过程序判断获得其主要色调,应该怎么样处理?

请大家发表看法
...全文
619 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
drowdrow 2007-11-23
  • 打赏
  • 举报
回复
使用16色和256色都行,主要思想就是逐点计算分别r,g,b分量的平均,当作主色调的rgb值
i_love_pc 2007-11-23
  • 打赏
  • 举报
回复
直方图
laoma_hbu 2007-11-23
  • 打赏
  • 举报
回复
首先分别统计整幅图像中R、G、B各颜色分量的和,然后分别除以图像像素总数,
得到平均的颜色分量,再根据平均颜色分量来判断。
pptor 2007-11-23
  • 打赏
  • 举报
回复
计算像素 rgb 的分量 的平均值 ,再把得到的r, g, b 平均值 组合成新的像素
这个像素代表的颜色 认为是它的主色调
Sodar 2007-11-23
  • 打赏
  • 举报
回复
请大家说的再具体点

我的一个想法是把图片转换为16色图或者256色图,然后再进行判断,但是不知道这样准不准
WingForce 2007-11-22
  • 打赏
  • 举报
回复
应该是计算RGB分量吧。。。
lucian2007 2007-11-22
  • 打赏
  • 举报
回复
统计各种颜色的像素所占的个数
本书也是一本介绍图像技术的教材,但它有不同的视点和方式。至少有两点值得指出: 首先,作者完全采用了一种问答的形式来组织和介绍相关内容。全书从头到尾共设计了472个问题(很多是由学生提出来的),有问有答,循序渐进,逐步将各种图像技术依次介绍。这种形式除能帮助课堂教学外,也很适合自学,因为每一段都解决了一个疑问,对自学者会很有吸引力。书中还有383个详细的示例,不仅方便读者学习,对讲授相关课程的教师也是一个很好的资源。 其次,作者对基本内容和高级内容进行了划分。但与许多教材中这两部分内容不相重合、后者是前者的延伸不同,该书两部分内容密切相关、后者对应前者的更深层次。从其安排来看,基本内容是主干,而高级内容(放在63个框内,且有161个配合示例,编号前均加B)则分布在书中与相关基本内容对应的位置。如果把基本内容看作一个主程序,那么这些高级内容部分就像子程序,随时可在需要处调用。 本书是一本篇幅较大的书,从结构上看,有7章共27节。全书共有编了号的图307个(其中10个为彩图)、表格25个、公式1892个。另外有一个约80篇参考文献的目录,以及可进行索引的近400个术语。全书译成中文约合100万字(也包括图片、绘图、表格、公式等)。本书可作为已具有初步图像技术知识的相关专业高年级本科生和低年级研究生的专业基础课教材,也可供从事图像应用相关领域的科研技术人员参考。 译者基本忠实原书的结构和文字风格进行了翻译。为方便阅读,对书中问答中的问题按章节进行了编号。考虑到书中分散介绍了40多个具体算法,译文中归纳增加了一个算法列表。另外,对原书的索引,考虑中文的习惯进行了一些调整,并按中文次序进行了排列,希望能更好地服务于读者。 封面 -27 封底 -26 书名 -25 版权 -24 译者序 -19 前言 -18 目录 -16 第1章 导论 1 1.0.1 为什么要处理图像? 1 1.0.2 什么是一幅图像? 1 1.0.3 什么是一幅数字图像? 1 1.0.4 什么是一个光谱带? 1 1.0.5 为什么大多数图像处理算法都参照灰度图像进行,而实际中遇到的都是彩色图像? 2 1.0.6 一幅数字图像是如何形成的? 2 1.0.7 如果一个传感器对应物理世界中的一个小片,如何能让多个传感器对应场景中的同一个小片? 2 1.0.8 什么是图像中一个像素位置亮度的物理含义? 3 1.0.9 为什么图像常用512×512,256×256,128×128 等来表示? 4 1.0.10 需要多少个比特以存储一幅图像? 5 1.0.11 什么决定了一幅图像的质量? 5 1.0.12 什么会使得图像模糊? 5 1.0.13 图像分辨率是什么含义? 5 1.0.14 “良好对比度”是什么含义? 7 1.0.15 图像处理的目的是什么? 8 1.0.16 如何进行图像处理? 8 1.0.17 图像处理中使用非线性操作符吗? 9 1.0.18 什么是线性操作符? 9 1.0.19 如何来定义线性操作符? 9 1.0.20 一个成像装置的点扩散函数和一个线性操作符之间有什么联系? 9 1.0.21 一个线性操作符如何变换一幅图像? 9 1.0.22 点扩散函数的含义是什么? 10 B1.1 在连续空间中一个点源的正式定义 10 1.0.23 实际中如何描述一个线性操作符作用在一幅图像上的效果? 15 1.0.24 对一幅图像可使用多于一个线性操作符吗? 18 1.0.25 线性操作符使用的次序会导致结果的不同吗? 18 B1.2 因为矩阵运算次序是不能互换的,如果改变使用移不变线性操作符的次序会发生什么情况? 18 B1.3 什么是堆叠操作符? 24 1.0.26 对矩阵H结构上可分离性的假设意味着什么? 30 1.0.27 如何能将一个可分离变换写成矩阵的形式? 31 1.0.28 可分离性假设的含义是什么? 32 B1.4 可分离矩阵方程的正式推导 32 1.0.29 本章要点 34 1.0.30 式(1.108)在线性图像处理中的意义是什么? 34 1.0.31 这本书有些什么内容呢? 36 第2章 图像变换 37 2.0.1 本章概况 37 2.0.2 如何能定义一幅基本图像? 37 2.0.3 什么是两个矢量的外积? 37 2.0.4 如何可将一幅图像展开成矢量的外积? 37 2.0.5 如何选择矩阵hc和hr? 39 2.0.6 什么是酉矩阵? 39 2.0.7 酉矩阵的逆是什么样的? 39 2.0.8 如何能构建一个酉矩阵? 40 2.0.9 如何选择矩阵U和V以使表达g的比特数比f少? 40 2.0.10 什么是矩阵对角化? 40 2.0.11 可以对角化任何矩阵吗? 40 2.1 奇异值分解 40 2.1.1 如何能对角化一幅图像? 40 B2.1 可将任何图像都展开成矢量的外积吗? 43 2.1.2 如何计算图像对角化所需的矩阵U,V和Λ.? 44 B2.2 如果矩阵ggT 的本征值为负会如何? 44 2.1.3 什么是对一幅图像的奇异值分解? 47 2.1.4 能将一幅本征图像分解成多幅本征图像吗? 48 2.1.5 如何可用SVD 来近似一幅图像? 49 B2.3 SVD 的直观解释是什么? 49 2.1.6 什么是用SVD 近似一幅图像的误差? 50 2.1.7 如何能最小化重建误差? 51 2.1.8 任何图像都可以从某一组基本图像扩展出来吗? 56 2.1.9 什么是完备和正交的离散函数集合? 56 2.1.10 存在正交归一化离散值函数的完备集合吗? 57 2.2 哈尔、沃尔什和哈达玛变换 57 2.2.1 哈尔函数是如何定义的? 57 2.2.2 沃尔什函数是如何定义的? 57 B2.4 用拉德马赫函数定义的沃尔什函数 58 2.2.3 如何能用哈尔或沃尔什函数来生成图像基? 58 2.2.4 实际中如何用哈尔或沃尔什函数构建图像变换矩阵? 58 2.2.5 哈尔变换的基元图像看起来是什么样的? 61 2.2.6 可以定义元素仅为+1 或.1 的正交矩阵吗? 65 B2.5 对沃尔什函数的排列方式 65 2.2.7 哈达玛/沃尔什变换的基图像看起来是什么样的? 67 2.2.8 沃尔什和哈尔变换的优点和缺点各是什么? 69 2.2.9 什么是哈尔小波? 70 2.3 离散傅里叶变换 71 2.3.1 傅里叶变换的离散形式(DFT )是怎样的? 71 B2.6 离散傅里叶反变换是什么样的? 72 2.3.2 如何能将傅里叶变换写成矩阵形式? 72 2.3.3 用于DFT 的矩阵U是酉矩阵吗? 74 2.3.4 DFT 用来扩展图像的基元图像是什么样的? 76 2.3.5 为什么离散傅里叶变换比其他变换得到了更广泛的应用? 78 2.3.6 什么是卷积定理? 79 B2.7 如果一个函数是两个其他函数的卷积,它的DFT 与另两个函数的DFT 是什么关系? 79 2.3.7 如何显示一幅图像的离散傅里叶变换? 83 2.3.8 当图像旋转后其离散傅里叶变换将会怎么样? 84 2.3.9 当图像平移后其离散傅里叶变换将会怎么样? 85 2.3.10 图像的平均值与其DFT 有什么联系? 88 2.3.11 一幅图像放缩后其DFT 会如何变化? 89 B2.8 什么是快速傅里叶变换? 92 2.3.12 DFT 有哪些优点和缺点? 93 2.3.13 可以有实值的DFT 吗? 94 2.3.14 可以有纯虚部的DFT 吗? 96 2.3.15 一幅图像可以有纯实部或纯虚部值的DFT 吗? 101 2.4 偶对称离散余弦变换(EDCT) 101 2.4.1 什么是偶对称离散余弦变换? 101 B2.9 逆1-D 偶离散余弦变换的推导 106 2.4.2 2-D 时的逆偶余弦变换是怎样的? 107 2.4.3 用偶余弦变换扩展一幅图像时的基图像是怎样的? 107 2.5 奇对称离散余弦变换(ODCT) 109 2.5.1 什么是奇对称离散余弦变换? 109 B2.10 推导1-D 逆奇离散余弦变换 112 2.5.2 2-D 时的逆奇余弦变换是怎样的? 113 2.5.3 用奇余弦变换扩展一幅图像时的基图像是怎样的? 113 2.6 偶反对称离散正弦变换(EDST) 115 2.6.1 什么是偶反对称离散正弦变换? 115 B2.11 逆1-D 偶离散正弦变换的推导 118 2.6.2 2-D 时的逆偶正弦变换是怎样的? 119 2.6.3 用偶正弦变换扩展一幅图像时的基图像是怎样的? 119 2.6.4 如果在计算图像的EDST 前没有消除其均值会发生什么情况? 121 2.7 奇反对称离散正弦变换(ODST) 122 2.7.1 什么是奇反对称离散正弦变换? 122 B2.12 推导1-D 逆奇离散正弦变换 125 2.7.2 2-D 时的逆奇正弦变换是怎样的? 126 2.7.3 用奇正弦变换扩展一幅图像时的基图像是怎样的? 126 2.7.4 本章要点 128 第3章 图像的统计描述 130 3.0.1 本章概况 130 3.0.2 为什么需要对图像的统计描述? 130 3.1 随机场 130 3.1.1 什么是一个随机场? 130 3.1.2 什么是一个随机变量? 130 3.1.3 什么是一个随机试验? 131 3.1.4 如何用计算机做一个随机试验? 131 3.1.5 如何描述随机变量? 131 3.1.6 一个事件的概率是多少? 131 3.1.7 什么是一个随机变量的分布函数? 132 3.1.8 什么是一个随机变量取一个特殊值的概率? 133 3.1.9 什么是一个随机变量的概率密度函数? 133 3.1.10 如何描述许多随机变量? 134 3.1.11 n个随机变量互相之间有什么联系? 135 3.1.12 如何定义一个随机场? 138 3.1.13 如何能将在同一个随机场中的两个随机变量联系在一起? 139 3.1.14 如何能将在两个不同随机场中的两个随机变量联系在一起? 140 3.1.15 如果仅有系综图像中的一幅图像,可以计算期望值吗? 142 3.1.16 何时一个随机场相对于均值均匀? 142 3.1.17 何时一个随机场相对于自相关函数均匀? 142 3.1.18 如何计算一个随机场的空间统计? 143 3.1.19 实际中如何计算一幅图像随机场的空间自相关函数? 143 3.1.20 什么时候一个随机场相对于均值遍历? 144 3.1.21 什么时候一个随机场相对于自相关函数遍历? 144 3.1.22 什么是遍历性的含义? 145 B3.1 遍历性,模糊逻辑和概率理论 146 3.1.23 如何可以构建一个基元图像的基,从而用最优的方式描述完整的图像集合? 146 3.2 卡洛变换 147 3.2.1 什么是卡洛变换? 147 3.2.2 为什么一个图像集合的自协方差矩阵对角化定义了描述集合中图像所需的基? 147 3.2.3 如何变换一幅图像以使其自协方差矩阵成为对角的? 149 3.2.4 如果系综相对于自相关是平稳的,一组图像的系综自相关矩阵的形式是怎么样的? 154 3.2.5 如何根据一幅图像的矢量表达,从1-D 自相关函数得到其2-D 自相关矩阵? 155 3.2.6 如何能变换图像使其自相关矩阵成为对角的? 157 3.2.7 实际中如何计算一幅图像的卡洛变换? 158 3.2.8 如何计算系综图像的卡洛(K-L)变换? 158 3.2.9 遍历性假设切合实际吗? 158 B3.2 当一幅图像被表示成一个矢量时,如何计算该图像的空间自相关矩阵? 159 3.2.10 期望变换后图像的均值真正为0 吗? 162 3.2.11 如何能用一幅图像的卡洛变换来近似该图像? 162 3.2.12 将一幅图像的卡洛展开截断而近似该图像的误差是什么? 163 3.2.13 用卡洛变换展开一幅图像的基图像是什么样的? 163 B3.3 使用卡洛变换近似一幅图像的误差是多少? 167 3.3 独立分量分析 173 3.3.1 什么是独立分量分析(ICA)? 173 3.3.2 什么是鸡尾酒会问题? 174 3.3.3 如何解鸡尾酒会问题? 174 3.3.4 中心极限定理说些什么? 174 3.3.5 当讨论鸡尾酒会问题时说“x1(t)的采样比s1(t)或s2(t)的采样更趋向于高斯分布”是什么含义?是谈论x1(t)的时间采样还是谈论在给定时间x1(t)的所有可能版本? 174 3.3.6 如何测量非高斯性? 177 3.3.7 如何计算一个随机变量的矩? 178 3.3.8 峰度是如何定义的? 178 3.3.9 负熵是如何定义的? 180 3.3.10 熵是如何定义的? 180 B3.4 在所有方差相同的概率密度函数中,高斯函数具有最大的熵 182 3.3.11 如何计算负熵? 182 B3.5 用矩对负熵的近似推导 186 B3.6 用非二次函数近似负熵 187 B3.7 选择非二次函数以近似负熵 190 3.3.12 如何使用中心极限定理来解鸡尾酒会问题? 194 3.3.13 ICA 如何用于图像处理? 194 3.3.14 如何搜索独立分量? 195 3.3.15 如何白化数据? 196 3.3.16 如何从白化数据中选取独立分量? 196 B3.8 拉格朗日乘数法如何工作? 197 B3.9 如何选择一个能最大化负熵的方向? 198 3.3.17 实际中如何在图像处理中进行ICA? 202 3.3.18 如何将ICA 用于信号处理? 208 3.3.19 什么是独立分量分析的主要特点? 213 3.3.20 将ICA 应用于图像处理和信号处理有什么不同? 213 3.3.21 本章要点 213 第4章 图像增强 216 4.0.1 什么是图像增强? 216 4.0.2 如何能增强一幅图像? 216 4.0.3 什么是线性滤波器? 216 4.1 线性滤波器理论基础 216 4.1.1 如何定义一个2-D 滤波器? 216 4.1.2 频率响应函数和滤波器的单位采样响应是如何联系的? 217 4.1.3 为什么关心在实域中的滤波器函数? 217 4.1.4 h(k, l)需要满足什么条件才能用作卷积滤波器? 217 B4.1 2-D 理想低通滤波器的单位采样响应是什么样的? 218 4.1.5 1-D 和2-D 理想低通滤波器之间有什么联系? 221 4.1.6 如何可在实域中实现无穷延伸的滤波器? 222 B4.2 z-变换 222 4.1.7 可以为了方便而在实域中直接定义一个滤波器吗? 227 4.1.8 可以在实域中定义一个滤波器,但在频域中没有旁瓣吗? 228 4.2 消减高频噪声 228 4.2.1 一幅图像中会有什么种类的噪声? 228 4.2.2 什么是脉冲噪声? 228 4.2.3 什么是高斯噪声? 229 4.2.4 什么是加性噪声? 229 4.2.5 什么是乘性噪声? 229 4.2.6 什么是齐次噪声? 229 4.2.7 什么是零均值噪声? 229 4.2.8 什么是有偏噪声? 229 4.2.9 什么是独立噪声? 229 4.2.10 什么是不相关噪声? 230 4.2.11 什么是白噪声? 230 4.2.12 零均值不相关噪声与白噪声间有什么联系? 230 4.2.13 什么是iid 噪声? 231 4.2.14 可能有不是独立同分布的白噪声吗? 232 B4.3 一个随机变量的函数的概率密度函数 235 4.2.15 为什么噪声常与高频有关? 238 4.2.16 如何对待乘性噪声? 239 B4.4 德尔塔函数的傅里叶变换 239 B4.5 维纳-辛钦定理 239 4.2.17 对高斯噪声的假设在图像中合理吗? 240 4.2.18 如何消除散粒噪声? 240 4.2.19 什么是排序滤波器? 240 4.2.20 什么是中值滤波器? 240 4.2.21 什么是最频值滤波? 241 4.2.22 如何减小高斯噪声? 241 4.2.23 可以像加权平均滤波器那样对中值滤波器和最频值滤波器加权吗? 246 4.2.24 可以使用第2 章中的线性方法来对图像滤波吗? 247 4.2.25 如何处理图像中的混合噪声? 248 4.2.26 能在平滑图像时避免模糊它吗? 248 4.2.27 什么是边缘自适应平滑? 249 B4.6 有效计算局部方差 250 4.2.28 均移算法是如何工作的? 250 4.2.29 什么是非各向同性扩散? 252 B4.7 尺度空间和热力方程 252 B4.8 梯度,散度和拉普拉斯 253 B4.9 对一个积分相对于一个参数求导 255 B4.10 从热力学方程到非各向同性扩散算法 255 4.2.30 实际中如何实现非各向同性扩散? 256 4.3 消减低频干扰 257 4.3.1 什么时候会产生低频干扰? 257 4.3.2 变化的照明在高频也有体现吗? 257 4.3.3 还有哪些其他情况需要减少低频? 258 4.3.4 理想高通滤波器是什么样的? 258 4.3.5 如何用非线性滤波器来增强图像中的小细节? 262 4.3.6 什么是非锐化掩膜? 262 4.3.7 如何局部地使用非锐化掩膜算法? 263 4.3.8 局部自适应非锐化掩膜是如何工作的? 264 4.3.9 视网膜皮层理论算法是如何工作的? 265 B4.11 用视网膜皮层理论算法对哪些灰度值拉伸的最多? 266 4.3.10 如何增强受到变化照明影响的图像? 267 4.3.11 什么是同态滤波? 267 4.3.12 什么是光度立体视觉? 268 4.3.13 平场校正是什么意思? 268 4.3.14 平场校正是如何进行的? 268 4.4 直方图操作 269 4.4.1 什么是一幅图像的直方图? 269 4.4.2 什么时候需要改变图像的直方图? 269 4.4.3 如何改变一幅图像的直方图? 269 4.4.4 什么是直方图操作? 270 4.4.5 什么会影响一幅图像的语义信息内容? 270 4.4.6 如何能执行直方图操作并同时保留图像的信息内容? 270 4.4.7 什么是直方图均衡化? 271 4.4.8 为什么直方图均衡化程序一般并不产生具有平坦直方图的图像? 271 4.4.9 实际中如何进行直方图均衡化? 271 4.4.10 可能得到具有完全平坦直方图的图像吗? 273 4.4.11 如果不希望图像具有平坦的直方图应如何做? 273 4.4.12 实际中如何进行直方图双曲化? 273 4.4.13 如何结合随机加法进行直方图双曲化? 274 4.4.14 为什么在直方图均衡化外还需要其他处理? 275 4.4.15 如果图像具有不均匀的对比度怎么办? 275 4.4.16 可以在增加纯粹亮度过渡区的对比度时避免损坏平坦结构吗? 276 4.4.17 如何能通过仅拉伸纯粹亮度过渡区的灰度值来增强一幅图像? 277 4.4.18 实际中如何执行成对的图像增强? 278 4.5 通用去模糊算法 280 4.5.1 最频值滤波如何帮助去图像模糊? 281 4.5.2 可以在最频值滤波器中使用边缘自适应窗吗? 282 4.5.3 如何可使用均移作为通用的去模糊算法? 283 4.5.4 什么是滑降对比度增强? 283 4.5.5 实际中如何进行滑降对比度增强? 284 4.5.6 本章要点 287 第5章 图像恢复 290 5.0.1 什么是图像恢复? 290 5.0.2 为什么图像需要恢复? 290 5.0.3 什么是图像配准? 290 5.0.4 图像恢复是如何进行的? 290 5.0.5 图像增强和图像恢复的区别是什么? 290 5.1 齐次线性图像恢复:逆滤波 290 5.1.1 如何对齐次线性图像退化建模? 290 5.1.2 图像恢复问题可如何解决? 291 5.1.3 如何可以获得退化过程的频率响应函数H.(u, v)的信息? 291 5.1.4 如果已知退化过程的频率响应函数,解决图像恢复的问题是否很容易? 298 5.1.5 在频率响应函数为零处,频率会发生什么情况? 299 5.1.6 频率响应函数和图像的零点总相同吗? 299 5.1.7 如何避免噪声的放大? 299 5.1.8 实际中如何使用逆滤波? 301 5.1.9 可以定义一个自动考虑模糊图像中噪声的滤波器吗? 306 5.2 齐次线性图像恢复:维纳滤波 307 5.2.1 如何能将图像恢复问题描述成一个最小均方误差估计问题? 307 5.2.2 图像恢复问题有线性最小均方解吗? 307 5.2.3 什么是图像恢复问题的线性最小均方误差解? 308 B5.1 最小均方误差解 308 B5.2 从图像相关函数的傅里叶变换到它们的频谱密度 313 B5.3 维纳滤波器的推导 313 5.2.4 维纳滤波和逆滤波之间有什么联系? 314 5.2.5 如何确定噪声场的频谱密度? 315 5.2.6 如果不知道未知图像的统计特性,还有可能使用维纳滤波器吗? 315 5.2.7 实际中如何使用维纳滤波? 316 5.3 齐次线性图像恢复:约束矩阵求逆 319 5.3.1 如果假设退化过程是线性的,为什么要使用卷积定理而不通过解线性方程组来反演其效果? 319 5.3.2 式(5.146 )看起来非常直观,为什么还需要考虑其他方法? 320 5.3.3 有可以对矩阵H求逆的方法吗? 320 5.3.4 什么时候矩阵块轮换? 321 5.3.5 什么时候矩阵轮换? 321 5.3.6 为什么块轮换矩阵可以方便地求逆? 321 5.3.7 什么是一个轮换矩阵的本征值和本征矢量? 321 5.3.8 有关一个矩阵本征值和本征矢量的知识如何帮助对矩阵的求逆? 322 5.3.9 如何确定描述线性退化过程的矩阵H是块轮换的? 326 5.3.10 如何对角化一个块轮换矩阵? 327 B5.4 式(5.189)的证明 327 B5.5 矩阵H的转置是怎么样的? 328 5.3.11 如何克服矩阵求逆对噪声的极度敏感性? 334 5.3.12 如何将约束结合进矩阵的求逆? 335 B5.6 约束矩阵求逆滤波器的推导 338 5.3.13 维纳滤波器和约束矩阵求逆滤波器有什么联系? 339 5.3.14 实际中如何使用约束矩阵求逆? 341 5.4 非齐次线性图像恢复:旋转变换 344 5.4.1 如何对线性但非齐次的图像退化建模? 344 5.4.2 当退化矩阵不是轮换矩阵时如何使用约束矩阵求逆? 351 5.4.3 如果矩阵H非常大不能求逆怎么办? 353 B5.7 用于对大线性方程组求逆的雅克比法 354 B5.8 用于对大线性方程组求逆的高斯-赛德尔法 356 5.4.4 在例5.41、例5.43、例5.44 和例5.45 中构建的矩阵H满足使用高斯-赛德尔法或雅克比法的条件吗? 356 5.4.5 如果矩阵H不满足高斯-赛德尔法所需的条件会怎么样? 357 5.4.6 实际中如何使用梯度下降算法? 358 5.4.7 如果不知道矩阵H怎么办? 359 5.5 非线性图像恢复:MAP 估计 359 5.5.1 MAP 估计是什么意思? 359 5.5.2 如何将图像恢复问题公式化为一个MAP 估计问题? 360 5.5.3 给定退化模型和退化图像如何选择最可能的恢复像素值的组合? 360 B5.9 概率:先验,后验,条件 360 5.5.4 代价函数的最小值是唯一的吗? 361 5.5.5 如何从能最小化代价函数的所有可能解中选出一个来? 361 5.5.6 可以对一个组态x结合后验和先验概率吗? 362 B5.10 巴斯维尔定理 364 5.5.7 一般如何模型化需要最小化以恢复图像的代价函数? 366 5.5.8 当模型化联合概率密度函数时,温度参数并不改变概率取最大值的组态,那为什么要使用它? 367 5.5.9 温度参数是如何在解空间中允许聚焦或离焦的? 367 5.5.10 如何模型化组态的先验概率? 368 5.5.11 如果图像具有真正的不连续性会发生什么情况? 368 5.5.12 如何最小化代价函数? 369 5.5.13 如何从前一个解构建一个可能的新解? 369 5.5.14 如何知道何时停止迭代? 371 5.5.15 在模拟退火中如何减小温度? 371 5.5.16 实际中如何利用重要中心采样器进行模拟退火? 371 5.5.17 实际中如何利用吉伯斯采样器进行模拟退火? 372 B5.11 如何根据给定的概率密度函数取出一个随机数? 373 5.5.18 为什么模拟退火很慢? 375 5.5.19 如何能加快模拟退火? 375 5.5.20 如何能粗化组态空间? 376 5.6 几何图像恢复 376 5.6.1 如何会产生几何失真? 376 5.6.2 为什么镜头会导致失真? 377 5.6.3 如何恢复一幅几何失真的图像? 377 5.6.4 如何执行空间变换? 377 5.6.5 如何模型化镜头失真? 377 5.6.6 如何模型化非均匀失真? 379 5.6.7 如何确定空间变换模型的参数? 379 5.6.8 为什么需要灰度插值? 379 B5.12 检测线的哈夫变换 382 5.6.9 本章要点 386 第6章 图像分割和边缘检测 388 6.0.1 本章概况 388 6.0.2 图像分割和边缘检测的准确目的是什么? 388 6.1 图像分割 388 6.1.1 如何将一幅图像分成均匀的区域? 388 6.1.2 “标记”一幅图像是什么含义? 388 6.1.3 如果直方图中的谷没有被很明确地定义应怎么办? 389 6.1.4 如何最小化误分像素的数量? 389 6.1.5 如何选择最小误差阈值? 390 6.1.6 什么是目标和背景像素正态分布时的最小误差阈值? 393 6.1.7 什么是最小误差阈值方程两个解的含义? 394 6.1.8 如何估计代表目标和背景的高斯概率密度函数的参数? 395 6.1.9 最小误差阈值化方法的缺点是什么? 398 6.1.10 有能不依赖于目标和背景像素分布模型的方法吗? 398 B6.1 大津方法的推导 399 6.1.11 大津方法有什么缺点吗? 401 6.1.12 如何能对在照明变化的场合下获得的图像取阈值? 402 6.1.13 如果根据lnf(x, y)的直方图来对图像取阈值,是根据成像表面的反射性质来阈值化吗? 402 B6.2 两个随机变量和的概率密度函数 402 6.1.14 如何解决照明变化情况下直接阈值化算法会失败的问题? 403 6.1.15 如果直方图只有一个峰应怎么办? 404 6.1.16 灰度阈值化方法有什么缺点吗? 405 6.1.17 如何分割包含不均匀但感觉均匀区域的图像? 406 6.1.18 可以通过考虑像素的空间接近度来改进直方图化方法吗? 408 6.1.19 有考虑像素空间接近度的分割方法吗? 408 6.1.20 如何选择种子像素? 408 6.1.21 分裂和合并法如何工作? 409 6.1.22 什么是形态学图像重建? 409 6.1.23 如何用形态学图像重建确定水线算法所需的种子? 411 6.1.24 如何计算梯度幅度图? 411 6.1.25 在用g对f的形态学重建中,为生成模板g而从f中减去的数起什么作用? 412 6.1.26 结构元素的形状和尺寸在用g对f的形态学重建中起什么作用? 413 6.1.27 如何使用梯度幅度图像以帮助用水线算法分割图像? 419 6.1.28 在水线算法中使用梯度幅度图像有什么缺点吗? 419 6.1.29 可以用滤波来分割图像吗? 424 6.1.30 如何使用均移算法去分割图像? 424 6.1.31 什么是一个图? 425 6.1.32 能用一个图表示一幅图像吗? 425 6.1.33 如何借助一幅图像的图表达来分割它? 425 6.1.34 什么是归一化割算法? 426 B6.3 归一化割算法作为一个本征值问题 426 B6.4 如何最小化瑞利商? 433 6.1.35 实际中如何使用归一化图割算法? 435 6.1.36 与考虑像素间的相似性相对,可以通过考虑区域间的不相似性来分割图像吗? 436 6.2 边缘检测 436 6.2.1 如何测量相邻像素间的不相似性? 436 6.2.2 什么是最小可选的窗? 437 6.2.3 当图像中有噪声时会怎么样? 438 B6.5 如何选择用于边缘检测的3×3 模板的权重? 439 6.2.4 参数K的最优值是什么? 440 B6.6 索贝尔滤波器的推导 440 6.2.5 在通常情况下,如何确定一个像素是否为边缘像素呢? 444 6.2.6 实际中如何执行线性边缘检测? 445 6.2.7 索贝尔模板对所有图像都合用吗? 448 6.2.8 如果由于图像中有很显著的噪声而需要一个较大的模板, 如何选择模板的权重? 448 6.2.9 可以使用对边缘的最优滤波器以一种最优方式检测图像中的直线吗? 450 6.2.10 什么是阶跃边缘和直线间的基本差别? 450 B6.7 将一个随机噪声与一个滤波器卷积 454 B6.8 将一个有噪边缘信号与一个滤波器卷积后的信噪比计算 455 B6.9 良好局部性测度的推导 455 B6.10 虚假极值计数的推导 457 6.2.11 边缘检测能导致图像分割吗? 458 6.2.12 什么是滞后边缘连接? 458 6.2.13 滞后边缘连接能导致封闭的边缘轮廓吗? 459 6.2.14 什么是拉普拉斯-高斯边缘检测法? 460 6.2.15 有可能同时检测边缘和直线吗? 461 6.3 相位一致性和单基因信号 461 6.3.1 什么是相位一致性? 461 6.3.2 什么是1-D 数字信号的相位一致性? 462 6.3.3 如何能借助相位一致性检测直线和边缘? 462 6.3.4 为什么相位一致性与信号的局部能量最大值重合? 462 6.3.5 如何测量相位一致性? 463 6.3.6 能否简单地平均谐波分量的相位来测量相位一致性? 463 6.3.7 实际中如何测量相位一致性? 465 6.3.8 如何测量信号的局部能量? 466 6.3.9 为什么需要与两个基信号卷积以得到局部信号在基信号上的投影? 467 B6.11 连续傅里叶变换的一些性质 470 6.3.10 如果只需计算信号的局部能量,为什么不在实域的局部窗口中用帕赛瓦尔定理来计算? 477 6.3.11 如何决定使用哪个滤波器计算局部能量? 478 6.3.12 实际中如何计算一个1-D 信号的局部能量? 481 6.3.13 如何能判断局部能量的最大值对应一个对称或反对称的特征? 481 6.3.14 如何计算2-D 时的相位一致性和局部能量? 487 6.3.15 什么是解析信号? 487 6.3.16 如何推广希尔伯特变换到2-D? 487 6.3.17 如何计算一幅图像的里斯变换? 487 6.3.18 如何使用单基因信号? 488 6.3.19 如何选择要使用的偶滤波器? 488 6.3.20 本章要点 493 第7章 多光谱图像处理 495 7.0.1 什么是多光谱图像? 495 7.0.2 多光谱图像有哪些特殊的问题? 495 7.0.3 本章概述 496 7.1 多光谱图像处理 496 7.1.1 为什么会希望用其他带来替换多光谱图像的带? 496 7.1.2 一般如何从多光谱图像构建一幅灰度图像? 496 7.1.3 如何从一幅包含最大量图像信息的多光谱图像构建单个带? 496 7.1.4 什么是主分量分析? 497 B7.1 如何测量信息? 497 7.1.5 实际中如何进行主分量分析? 498 7.1.6 使用一幅图像的主分量而不是原始带的优点是什么? 499 7.1.7 使用一幅图像的主分量而不是原始带的缺点是什么? 499 7.1.8 如果对其他分量不感兴趣,有可能仅计算出一幅多光谱图像的第1 个主分量吗? 504 B7.2 用于估计一个矩阵的最大本征值的功率法 504 7.1.9 什么是光谱恒常性问题? 506 7.1.10 什么影响一个像素的光谱标记? 506 7.1.11 什么是反射函数? 506 7.1.12 成像几何影响一个像素的光谱标记吗? 506 7.1.13 成像几何如何影响一个像素所接收的光能量? 506 7.1.14 如何对朗伯表面的成像过程建模? 507 7.1.15 如何能消除一个像素的光谱对成像几何的依赖性? 507 7.1.16 如何能消除一个像素的光谱对照明源光谱的依赖性? 507 7.1.17 如果有不止一个照明源会发生什么情况? 508 7.1.18 如何能消除一个像素的光谱标记对成像几何和照明光谱的依赖性? 508 7.1.19 如果成像表面不是由相同材料构成时怎么办? 509 7.1.20 什么是光谱分解问题? 509 7.1.21 如何解决线性光谱分解问题? 510 7.1.22 可以对纯材料使用光谱库吗? 510 7.1.23 当已知纯分量的光谱时如何解线性光谱分解问题? 510 7.1.24 有可能不计算矩阵Q的逆吗? 513 7.1.25 如果库光谱是在与混合光谱不同的波长进行的采样会发生什么问题? 513 7.1.26 如果不知道在混合物质中有哪些纯物质可能存在会发生什么问题? 514 7.1.27 如果不知道纯材料的光谱如何解线性光谱分解问题? 515 7.2 彩色视觉的物理学和心理物理学 518 7.2.1 什么是彩色? 518 7.2.2 从工程的观点看彩色有什么感兴趣的地方? 518 7.2.3 哪些因素影响从一个暗物体感知到的彩色? 519 7.2.4 什么导致日光的变化? 520 7.2.5 如何能模型化日光的变化? 520 B7.3 标准光源 522 7.2.6 什么是天然材料的观测变化? 523 7.2.7 一旦光线到达传感器会发生什么情况? 529 7.2.8 一个传感器有可能对不同的材料产生相同的记录吗? 530 7.2.9 人类视觉系统是如何实现彩色恒常性的? 531 7.2.10 彩色视觉的三基色理论讲了什么? 531 7.2.11 用什么来定义一个彩色系统? 531 7.2.12 三刺激值是如何确定的? 531 7.2.13 所有的单色参考刺激都可以通过简单调节基色光的强度来匹配吗? 532 7.2.14 所有人都需要相同强度的基色光以匹配同样的单色参考刺激吗? 533 7.2.15 谁是具有正常彩色视觉的人? 533 7.2.16 什么是最常使用的彩色系统? 533 7.2.17 什么是CIE-RGB 彩色系统? 533 7.2.18 什么是XYZ 彩色系统? 534 7.2.19 如何在3-D 空间中表达彩色? 534 7.2.20 如何在2-D 空间中表达彩色? 534 7.2.21 什么是色度图? 535 B7.4 一些3-D 几何中有用的定理 536 7.2.22 CIE-RGB 彩色系统中的色度图是什么样的? 538 7.2.23 人的大脑是如何感知彩色强度的? 539 7.2.24 在CIE-RGB 彩色系统中是如何定义零发光线的呢? 539 7.2.25 XYZ 彩色系统是如何定义的? 540 7.2.26 XYZ 彩色系统中的色度图是什么样的? 542 7.2.27 实际中可能用虚的基色生成一个彩色系统吗? 542 7.2.28 如何模型化一个特定人观察彩色的方式? 542 7.2.29 如果不同的观察者需要不同强度的基色光以看到白色,如何在不同观察者间校正彩色? 543 7.2.30 如何使用参考白色? 543 7.2.31 sRGB 彩色系统是如何定义的? 544 7.2.32 如果将一个彩色的所有三刺激值都翻倍它会变化吗? 545 7.2.33 用彩色系统的语言对一个彩色的描述与用日常语言的描述有什么联系? 545 7.2.34 如何比较彩色? 545 7.2.35 什么是一个测度? 545 7.2.36 能用欧氏测度来测量两个彩色的差别吗? 546 7.2.37 哪些是感知均匀的彩色空间? 546 7.2.38 Luv彩色空间是如何定义的? 546 7.2.39 Lab彩色空间是如何定义的? 547 7.2.40 如何选择(Xn, Yn, Zn)的值? 547 7.2.41 如何从Luv的值计算RGB 的值? 548 7.2.42 如何从Lab的值计算RGB 的值? 548 7.2.43 如何测量感知的饱和度? 549 7.2.44 如何测量饱和度感知的差别? 549 7.2.45 如何测量感知的色调? 549 7.2.46 色调角是如何定义的? 549 7.2.47 如何测量色调感知的差别? 550 7.2.48 什么影响人感知彩色的方式? 551 7.2.49 彩色的时间上下文是什么意思? 551 7.2.50 彩色的空间上下文是什么意思? 551 7.2.51 为什么当谈论空间频率时与距离有关系? 552 7.2.52 如何解释对彩色感知的空间依赖性? 552 7.3 实用彩色图像处理 553 7.3.1 对人类彩色视觉的研究如何影响进行图像处理的方式? 553 7.3.2 感知均匀彩色空间实际中有多感知均匀? 553 7.3.3 应如何将图像的RGB 值转换到Luv或Lab彩色空间中? 553 7.3.4 在图像处理应用中如何测量色调和饱和度? 557 7.3.5 如何能在图像处理中模仿彩色感知的空间依赖性? 561 7.3.6 同色异谱现象与图像处理有什么联系? 563 7.3.7 如何解决一个工业监视应用中的同色异谱问题? 564 7.3.8 什么是蒙特卡洛方法? 565 7.3.9 如何从多光谱图像中消除噪声? 566 7.3.10 如何对矢量排序? 566 7.3.11 如何处理多光谱图像中的混合噪声? 567 7.3.12 如何增强一幅彩色图像? 568 7.3.13 如何恢复多光谱图像? 572 7.3.14 如何压缩彩色图像? 572 7.3.15 如何分割多光谱图像? 572 7.3.16 实际中如何使用k-均值聚类方法? 573 7.3.17 如何提取多光谱图像的边缘? 574 7.3.18 本章要点 574 附录A 算法列表 576 附录B 参考文献注解 578 附录C 参考文献 580 附录D 索引 584
使用MFC在VS2013编写的数字图象处理软件,能够实现相当强大的功能。 BMP格式读取 保存 DFT FFT 直方图 色调均化 缩放 模糊 锐化 滤镜 形态学处理 曲线 裁剪 灰度图 彩色图 自动阈值 等等...除此之外还有很多其他小功能... 建议使用VS2013打开!!!核心代码在Bmp.cpp中!!! 更新文档: 2014年6月18日更新说明: 这次应该是上交的最后一次作业了,在今日的展示结束之后总体情况还好,但是发现了几个问题。 首先是这个程序是在win8环境下设计的,所以程序的一些大小参数以及按钮图片的位置参数是适合在win8的环境下操作,在设计报告中使用的操作系统也是win8。 而如果将该程序移动至win7系统上操作的话可以在大小与位置上会出现一些偏差,所以推荐将该程序在win8系统下运行,如果没有win8系统但是想重装的话可以找我。 然后本次更新的内容就是对设计报告中的要求的一些补充,比如图片的裁剪功能,还有一些照旧的BUG修复了。 关于这个裁剪功能,在程序中的图像裁剪中有一个说明按钮,在设计报告中有提到怎么使用的,所以在这里就不一一说明了,其实就跟在PS上用裁剪差不多,很容易用的。 关于设计的感想也写在了设计报告上了- -,这里也就不多说了。 好了这个程序算是最终完成了,撒花!师姐辛苦了~!!!!! ================================================================================================================================================================ 2014年5月13日更新说明: 这次的更新比较少,主要就是自动阈值分割图像方面的更新。 实现该操作的函数依然放在Bmp.cpp里面,里面一共使用了三种方式来决定自动阈值。 其中一种是“大津法”,函数是“OtsuThreshold”,该函数最后会返回一个阈值,该阈值就是大津法得出的阈值,具体实现方式可以在cpp文件中查看。 还有一种方法就是“迭代法”,函数是“IterationThreshold”,该函数最后会返回一个阈值,该阈值就是迭代法得出的阈值,具体实现方式可以在cpp文件中查看。 前两种方法的实现方法都如老师在PPT上所说的一样,而且运算起来非常快,基本可以说是瞬时得出。 而第三种方法是我自己写的一个方法,叫做“对半分”法,函数是“HalfCutThreshold”,该函数最后会返回一个阈值,该阈值就是对半分得出的阈值,具体实现方式可以在cpp文件中查看。 其原理就是计算出一个阈值,使到阈值处理后图片的黑色像素与白色像素的数量相等或者最接近,也就是把图片按黑白像素对半分的方法来对图像进行分割。 关于程序的使用方法,可以在鼠标右键菜单中选择“调整”->“阈值”->“高级阈值”来打开高级阈值处理的对话框。 打开对话框后,默认为最直接的自己首选阈值的方法,可以通过鼠标的左键拖动直方图中的绿色竖线来调整需要设定的阈值大小,同时右边会有该图片的预览,可以很方便操作。 如果需要使用自动阈值分割,可以在阈值方式中更改,一旦选择了“直接阈值”以外的阈值方式,程序便会自动用所选择的方法帮你计算出一个阈值,同时在直方图上会显示出该阈值的位置,还有该阈值的大小,同时预览图片也会立即更新。 值得注意的是,当你选择了自动阈值的时候,你不能再通过鼠标左键在直方图上手动调整阈值大小了哦,这个时候你只需要将阈值方式调回“直接阈值”即可重新自己调整! 除了有关作业的更新之外,这次更新还调整了图片备份的内存优化,加上了使用磁盘作为备份的空间,不过这些作为使用者的话是不需要怎么注意的嗯嗯,尽情使用即可! 最后,再次谢谢师姐能够读完这个文档,如果还有什么问题的话就联系我吧,联系方式就在软件中了欢迎点击- -,谢谢! ================================================================================================================================================================ 2014年5月6日更新说明: 这次的主要更新是形态学处理的部分,也就是膨胀、腐蚀、开与闭操作。 实现函数依然是放在Bmp.cpp这个文件里面。名字为Morphology的函数就是该形态学操作的函数。 可以通过在函数中调入不同的参数与设置使到一个函数同时实现膨胀与腐蚀的功能,而开与闭的功能只需要连续调用两次函数,并且参数不同就行了,使用非常简单。 然后就是软件的使用部分,软件的位置依然是放在Release文件夹里面,而形态学处理的按钮在“右键-调整-形态学处理-形态学运算”中,单击后就会出现形态学运算的对话框。 在对话框中会看到一个9*9的结构元素方阵,可以通过使用鼠标左键点击来改变结构元素的形状,双击鼠标为还原结构元素。 设定好结构元素后可以选择操作的四种方式,选择后便会得到处理后的图像了,十分方便。 当然,如果你的图片是彩色的,这个处理也是支持的,因为我的实现函数中把“与”操作改为“取最小值”,“或”操作改为“取最大值”,这个改动在对于二值图像的处理是一样效果的,但是也使到形态学处理适用于彩色图像了。 如果你想把彩色图片或者灰度图片二值化后在进行形态学处理,可以勾选对话框中的“二值化”选项。 值得一提的是,这个二值化是对每一层的颜色单独二值化,如果想要实现阈值效果,可以直接使用阈值功能或者转化为灰度图之后再使用对话框内的二值化,效果是一样的。 除此之外还有一个边缘提取功能,就是形态学处理中的边缘提取,实现方式就是像PPT那样操作了,这里不详细说明了,是个很简单的按钮。 在作业之外的更新有比较多,增加了“马赛克”功能(在“滤镜”中),可以很方便地对整张图片进行打码操作,至于局部打码操作可能会在之后的更新中实现,请耐心等候。 然后还更换了鼠标图案,使大家更容易知道鼠标是否已经处于图片区域中,鼠标图案是片很漂亮的叶子哦(出自KEY的AIR)。 这次更新还增加了瞬时更新鼠标所指像素点的RGB颜色值,横纵坐标,还有当前鼠标所指的颜色的显示。 在之前的版本中,如果想要获得鼠标所指的像素点的像素信息,只能通过鼠标的右键点击,这样有时候会不太方便,而现在的话在主界面就已经可以瞬时看到了,而且清晰明了简单易用。 然后还修复了模糊与中值函数的内存泄漏BUG,相信之后还会有更多的BUG等着来修复- -。 然后本次最大的更新就是!!!本软件支持Jpg格式了!师姐可以试下用这个软件打嘅Jpg格式的图片哦!这个更新简直太人性化了,以后做图像处理终于不用每次都要打开PS把Jpg转换为Bmp再操作了! 最后,再次谢谢师姐能够读完这个文档,如果还有什么问题的话就联系我吧,联系方式就在软件中了欢迎点击- -,谢谢! ================================================================================================================================================================ 2014年4月8日更新说明: 这次更新的是DTF跟FFT这两个功能,DFT的函数在Bmp.cpp的DFT里面,在里面已经加上了注释了。 而FFT在fft12_ifft12.cpp这个文件里面,文件包括了一维FFT和二维FFT的函数,当然IFFT也是存在的。 关于DFT的部分,由于我在DFT的算法里面使用了Complex类与COMPLEX结构体(类包含了运算符的重载与一些常用函数),毕竟C语言并没有专用的复数运算可以调用。 所以在进行DFT运算时会不断调用类的构造函数与析构函数,这导致了进行DFT运算使用的时间比Matlab写出来的要慢很多。 虽然处理起来时间比较长,但是相比FFT的优势是可以对非2的幂数的大小的图片进行傅里叶变换,而非2幂数的FFT的话如果进行补0再运算的话会导致算出的频域是错误的频域(毕竟随意加0会直接影响到这个图片)。 然后为了加快DFT的运算,这里我使用的方法是将复数因子(e的多少次方的那个)分成横向与纵向的乘积,先算出w_h0跟w_w0,之后的其他任何一个因子其实都是他们的幂相乘。 利用这个方法先把因子算好,这样就不用在每一步都计算sin跟cos的值,使到时间变快了很多。 虽然如此,计算一幅256*256的图使用I5CPU都得需要10秒钟,所以这种算法只能将着用,因此我也懒得写IDFT了- -。 所以为了偷懒我的IDFT直接调用了IFFT的函数,也就是说,对于不是2的幂数的图片,你可以进行DFT,但是不能变回来- -。 关于FFT的部分,其速度比Matlab的FFT算法快了不是一般的多,所以在之后的滤波处理中都使用了FFT。 但是FFT的缺点是在进行FFT运算前你必须要把图片大小转成2的幂数(我的软件自带缩放哦~),当然不一定要宽高相等,256*1024也是可以的。 关于这一点我在以后可能会使用因子法来进行FFT而不用现在的radio2法,这样的话可以对非2幂数的图片进行FFT了。 不过由于时间关系,现在的程序依然只能对2的幂数的大小进行FFT,这个非常抱歉。 关于幅值与角度的显示,在FFT滤波选项中可以查看到,当然查看角度的图片并没有什么意义就是了- -。 然后无论是8位图,24位图还是32位图,DFT跟DDT都完美支持! 然后就是那个FFT滤波的对话框,这里只写出了一个雏形(毕竟这几天清明节没有时间去写,求原谅- -),其实只能看看有什么功能而已,实现的函数其实还没有写的- -。 不过这次的作业并没有要求需要写FFT之后的滤波,所以也不算没有完成作业? 最后,无论是DFT还是FFT全都是自己一个代码一个代码写上去- -,研究傅里叶变换还把信号与系统的书都拿出来了,所以这次的作业真的好辛苦啊! 所以虽然功能尚未完善,但是请体谅!最后,再次谢谢师姐能够读完这个文档,如果还有什么问题的话就联系我吧,谢谢!(为了防止联系不到我,程序里面已经加入了“联系我”按钮了~) ================================================================================================================================================================ 2014年3月31日更新说明: 鉴于上个版本的软件功能还没有完整,而且内存存在泄漏的BUG会导致长时间使用时消耗内存过大。 所以这个版本将完善了很多功能,以及优化了内存问题,基本可以实现长时间使用了嗯嗯~撒花~~~~ 首先,程序的基本操作没有变化,基本都是右键操作,这次增加了重新读取图片功能,可以很方便地对图片进行还原处理。 然后,这次的作业是直方图与滤波器的操作,这些操作可以在直方图的选项与滤波器的选项中选择。 【色调均化】直方图的操作包括色调均化(我用了半天时间终于把PS的色调均化搞懂了,原来PS的色调均化根本不需要转什么色彩空间哦!),色调均化采用的是PS的算法。 【直方图调整】除了色调均化外还有查看直方图功能,该功能可以查看图片各个颜色的直方图以及总颜色(RGB)的直方图,还可以对直方图进行拉伸变换以提高图片的对比度,具体操作只需要用鼠标在直方图上使用左键或右键移动即可。 【曲线】除此之外,还可以对直方图进行函数变化(曲线),我尽量模拟出了PS的曲线效果,但是技术有限- -,这里的曲线只允许一种颜色的函数出现10个折点,合计一共可以出现40个折点,但是基本觉得是够用得了,使用方法依然是很简单,用鼠标点击曲线某一点即可添加或者取消折点。 【平均】这次的作业还有一个就是滤波器的操作,同样在右键菜单中可以选择平均滤波的使用,具体用法很简单,这里就不说明了。 【中值】中值滤波和平均滤波的操作差不多,也不一一说明了。 【锐化】个人觉得除了拉普拉斯的锐化方式之外的锐化都很难看所以就只保留了这两种锐化方式了,将就着用把- -。 【自定义滤波器】为了能够灵活地使用滤波器,一个自定义滤波器的功能还是需要的,具体的功能就跟PS的差不多吧,不过这个功能有个缺点就是当你需要输入负数时,你需要先输入数字再在前面输入负号- -,输入分数时小数点必须快速输入(我设置了一个不太快的刷新- -),虽然现在已经找到解决办法,但是懒得改了就将就着用吧- -。 在实现函数方面,还是在Bmp.cpp与其头文件中,为了让师姐能够容易地找到各个函数的所在,我已经在函数的定义前加上它的中文功能了,相信应该很容易找到。 至于函数过程的注释,由于老师没有要求在作业中需要写出来,同时函数太多也不好写,所以就算了- -,其实算法部分的话要读懂并不那么困难的。 为了方便,我在这里还是把这次作业所需要的函数列出来把(全部函数都在Bmp.cpp中): void Bmp::SmoothAverage(int x,int y)//平均滤波 void Bmp::SmoothMedian(int x,int y)//中值滤波 void Bmp::FilterDefine(double filter[5][5],int divide,int move)//自定义滤波器 void Bmp::CurveFunction(int color,int curve[256])//实现图片的函数变换,就是曲线啦 int** Bmp::GetHistogram()//计算图片的直方图,非归一化直方图 void Bmp::HistogramEqualization()//色调均化,算法采用PS的算法 void Bmp::Histogram(int Color,int Min,int Max)//直方图函数处理,就是直方图拉伸啦 以上就是这次作业的内容啦,为了方便,我还加入了 图像缩放 彩色转灰度 阈值 等功能,基本上这个程序已经越来越完善了,接下来就是慢慢添加功能以及修改细节啦。 最后,再次谢谢师姐能够读完这个文档,如果还有什么问题的话就联系我吧,谢谢! ================================================================================================================================================================ 因为本人的兴趣,我把这次作业做的比较复杂,功能比较多,所以您在找打开保存等函数的时候可能会有点麻烦,所以在这里放一个说明文档。 首先,本程序生成的exe应用程序在Realse目录下,那个有个很漂亮的宝石图标的程序就是了! 打开程序后,您可以使用打开按钮来打开图片,也可以直接把图片用鼠标直接拖入程序中打开(个人推荐第二种,毕竟方便)。 这个程序是支持8位图24位图32位图的哦! 打开后可以使用保存按钮保存图片,使用存为文本来保存为文本文档,我的程序会把图片以颜色层数为依据来保存文本文档。 如果您想使用我加入的其他功能,可以对着图片按右键,在弹出的菜单中选中你想要的功能就是了,但是锐化功能还没写(因为时间不够- -),其他的功能可以将就用下。 如果您想要找到这个程序的cpp文件,他在这个文件夹的同名文件夹下(MFC读取显示与保存BMP图像\MFC读取显示与保存BMP图像\Bmp.cpp(.h))。 因为我把与图像有关的操作封装成一个类(C++的),用以与其他的窗口类分来容易编写。 而与本次作业有关的函数有Open(),Save(),SaveAsTxt(),三个,在Bmp.cpp中都可以找到,并且都已经注释了,您可以去那里查找观看。 当然除了这些之外,我还写了其他一些函数如反色反转滤波器等,但是没有注释(因为太懒),师姐(兄)有兴趣的话也可以去看看,当然也可以直接去程序那里看效果。 最后如果师姐(兄)有什么看不懂或者找不到函数在哪的话可以联系我帮你找(毕竟我也觉得文件写得有点长而且复杂),我的手机号码是15800037916(666542)。 谢谢师姐(兄)看完!
修电脑快两年了,把我存的软件共享给大家,这里发的软件可以说是珍藏版本了,稳定可用的。 【概括介绍】 迅雷7是一款下载软件。 【基本介绍】   迅雷7是一款新型的基于多资源超线程技术的下载软件,作为“宽带时期的下载工具”,迅雷针对宽带用户做了特别的优化,能够充分利用宽带上网的特点,带给用户高速下载的全新体验!同时,迅雷推出了“智能下载”的全新理念,通过丰富的智能提示和帮助,让用户真正享受到下载的乐趣。 这个版本解决了论坛及其他反馈渠道中收集到的大多数问题,稳定性将会有显著提升,并且右侧栏调整 为不再自动切换。推荐各位雷友升级体验!   迅雷7在UI界面和性能上有了巨大的改进和提升。在界面方面,提供了华丽的外观,用户可以自由的切换配色方案或者自定义自己的个性化配色,甚至可以自由的拖放入一张自己的图片,而迅雷7会自动提取背景图特征色的方式让整个界面的风格保持一致。   迅雷7借助BOLT引擎实现了一套全新的皮肤系统,也就是说:   您可以随意往迅雷拖入一张图片进入迅雷界面换肤,我们会通过提取背景图特征色的方式让整个界面的风格保持一致;   您可以随意更换背景皮肤,随意自定义想要的配色方案;   您可以精心裁剪图片,达到满意的效果;   您可以调整界面的所有字体,换成您自己安装的或系统自带的华文琥珀、火星文、隶书等等。   您可以随心调整主界面和任务列表透明度,配合着皮肤,调整出酷炫的效果,没有达不到,只有想不到。   您可以在windows 7下享受玻璃效果。 【软件特点】 1、性能优异   “迅雷7”配备了研发代号为“Bolt(意为:闪电)”的全新界面引擎,使“迅雷7”的综合性能获得显著提升。 界面流畅度优化:   “迅雷7”通过全新的异步化下载平台支持,更加合理地管理后台处理流程,极大地避免了界面被莫名“卡住”的情况,使各种功能操作更加顺畅。 图形操作优化:   “迅雷7”通过使用MMX,SSE指令集对图形操作进行了深度的优化。无需借助显卡加速,就能用较以往更少的CPU资源,实现整个界面中更加绚丽流畅的动画效果。 内存占用优化:   “迅雷7”通过“Bolt”引擎进行统一的内存管理,大大降低了发生内存泄漏的可能性,而且当下的内存占用,仍有很大的优化空间。 任务管理优化:   “迅雷7”抛弃了传统Windows列表控件及数据库组件,采用全新开发的高性能任务数据库管理组件,经测试验证,即使拥有150,000条任务记录,任务列表拖动浏览依然流畅自如。 2、全新下载体验   “迅雷7”重点挖掘了现有产品中可完善的各种细节。每一个功能点,我们都重新构思如何将其设计的更加易于使用,从而形成了一套全新的下载体验。与此同时在这套全新下载体验中,每个点滴都巧妙融入了简约而不失高效的动画效果。(迅雷7在很多细节上下了功夫,例如按钮的边框动画效果,以及下载区块的填充效果。其他的细节有待您的探索) 3、智能的多彩主题   “迅雷7”借助“Bolt”引擎实现了一套新的“皮肤、主题”系统。   在主题系统中您可以随意往“迅雷7”界面中拖拽一张图片,“迅雷7”就会将其设为背景,并提取图片主色调作为界面色调,让界面风格与背景图保持一致。   (“主题”只是新的皮肤主题系统中的一部分,而更加强大的“皮肤”系统,将会给用户带来与众不同的体验) 4、快速启动   “迅雷7”通过“Bolt”界面引擎优化管理UI资源的打包及按需加载,大量的逻辑代码使用脚本语言编写,加上异步初始化任务管理等手段,使“迅雷7”的启动速度比迅雷5.9有大幅提升。 5、稳定可靠   “迅雷7”采用XML加Lua脚本语言的方式开发界面及插件,技术门槛低,稳定性好。   即使“界面、插件”的代码执行发生问题,也不会导致整个程序崩溃,而是输出错误信息,更加便于开发人员定位。因此从原理上来看,“迅雷7”的崩溃率将会比迅雷历史上的任何一个版本都要低。 6、开放自由   “迅雷7”提供了一个真正意义上的开发平台,例如:“插件可以在不修改主程序代码的条件下自定义自己的加载逻辑,并且插件可以使用一致的方法调整界面中的任何元素。”   在这个开放、自由的平台上,插件的发挥空间非常大。插件开发者甚至可以在“迅雷7”中开发“俄罗斯方块游戏”。 【更新日志】 迅雷7 V7.2.10.3694 正式版 更新内容如下: 一、功能变化 1.工具栏及右键菜单上的增加“彻底删除任务”功能; 2.移除工具栏上的”迅雷看看“图标。 二、性能优化 1.优化某些情况下的内存占用。 三、细节改进 1.建立在私人空间中的任务,其文件也将保存在私人空间文件夹内。当任务移出私人空间时,文件也将移出私人空间文件夹。 四、问题解决 1.修正使用IE下载磁力链接时可能导致IE崩溃的问题; 2
最好的照片管理工具 Ashampoo Photo Commander 16 突破性的带来了新的按地理位置分类以及新的展示模式!可以按位置对照片进行分类,并且可以方便的添加位置信息。程序能自动提取国家、城市以及街道信息!准备好体验新的展示形式了吗:在电脑上控制幻灯片,而在外接显示器或投影仪中展示!新的特效以及无缝的过渡动画将让您拥有最完美的效果。快来享受 50 多种新特性以及全面改进的功能吧! 为您的照片提供全能服务 新的 Ashampoo Photo Commander 16 是查看、编辑和管理照片的完美套装。井井有条的管理好您的相册,批量优化多个图片,轻松创建日历、贺卡以及幻灯片。无论您是初学者,新手还是专业摄影师,仅需点击几下精美效果就会立刻呈现在你眼前。 自动美化照片 内置自动修正功能,磨去瑕疵,降低噪音或去除红眼,让照片快速变成珍贵的节日记忆!多种自动功能卸去您肩上的重担,集成的自动批处理一次性快速美化所有照片。 创建拼贴画、日历及贺卡 内置大量模板,轻松创建贺卡,也可以按喜好调整细节或是亲自设计日历。创建精美的拼贴画功能也非常好用!Ashampoo Photo Commander 16 帮您实现您的想法,为您提供丰富的选择! 创建幻灯片 Ashampoo Photo Commander 16 可以创建高达 4K 分辨率的幻灯片!新的过渡效果让场景转换更加丰富自然,添加了更多的音频格式支持,让背景音乐更丰富。制作的幻灯片可以实时进行预览,新的视频播放控制栏带来更好的体验。 更时尚的展示照片 无论是欣赏个人照片或是朋友们的合照,您一定会爱上新的展示方式。可以使用主显示器进行控制在第二显示器上显示照片!完整支持投影仪,并可以实时修改照片无需退出演示! 设置、使用和编辑位置信息 现在手机及相机都会在拍照时使用定位功能保存位置信息。Ashampoo Photo Commander 16 可以添加和编辑这些数据,用来对照片排序。程序可以将这些数据转换成每张照片的拍摄国家、城市、街道信息!待在地图上回顾您的旅途,让程序告诉您每张照片的拍摄地点! 剪切和编辑图片 修剪图像大小,拉直图片视野,设置强调色。扣掉某个人和物,或是修改视角。添加神奇的特效,还有渐变曲线和色调修正带给您专业级的效果。 现代时尚的界面 Ashampoo Photo Commander 16 不仅具有时尚的新外观,还能自动适应您的工作方式。常用功能会自动出现在快速访问菜单中,因此很多时候只需点击一下即可快速启用您要的功能!当然,如果您愿意,您可以随时切换回经典视图。 让影集从此井井有条 Ashampoo Photo Commander 16 为您带来更清晰的视图。新的文件过滤器让您可以高效的追踪图片,如按位置或时间进行搜索!灵活的分组视图让您可以方便的选择文件,在状态栏预览其 EXIF 数据。经验丰富的摄影师肯定会喜欢新的年代查看方式,为相册带来全新的感观。 设计和挽救照片 Ashampoo Photo Commander 16 充分释放您的创意!新开发的全景功能可以创造出令人叹为观止的宽屏图像。内置自动处理曝光过度或褪色的图像,随时生成最绝美的效果。包含多种场景模板让您无比轻松的创建出适合各种场合的贺卡。 引领 PNG 最新潮流 PNG 已经是互联网上最常见的图像格式之一,PNG 动画将是 GIF 动画的有力替代品。Ashampoo Photo Commander 可以大大减少 PNG 文件大小以节省空间和流量,免费是在移动设备上。也可以快速创建、转换或提取动画。 完全满足客户需求 我们一直在聆听。现在 EXIF 和 IPTC 元数据直接显示在状态栏上,并且可以自由编辑和导出。受欢迎的重复文件查找器得到大幅提速。现在如有必要可以一次扫描多个页面,直接转换为 PDF。最重要的缩放功能也比以前快的多得多了。

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧