使用MFC在VS2013编写的数字图象处理软件,能够实现相当强大的功能。
BMP格式读取保存DFTFFT直方图色调均化缩放模糊锐化滤镜形态学处理曲线裁剪灰度图彩色图自动阈值等等...除此之外还有很多其他小功能...建议使用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的函数就是该形态学操作的函数。
可以通过在函数中调入不同的参数与设置使到一个函数同时实现膨胀与腐蚀的功能,而开与闭的功能只需要连续调用两次函数,并且参数不同就行了,使用非常简单。
然后就是软件的使用部分,
1
1.C4.5:是机器学习算法中的一种分类决策树算法,其核心算法是ID3算法。
2.K-means算法:是一种聚类算法。
3.SVM:一种监督式学习的方法,广泛运用于统计分类以及回归分析中4.Apriori:是一种最有影响的挖掘布尔关联规则频繁项集的算法。
5.EM:最大期望值法。
6.pagerank:是google算法的重要内容。
7.Adaboost:是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器然后把弱分类器集合起来,构成一个更强的最终分类器。
8.KNN:是一个理论上比较成熟的的方法,也是最简单的机器学习方法之一。
9.NaiveBayes:在众多分类方法中,应用最广泛的有决策树模型和朴素贝叶斯(NaiveBayes)10.Cart:分类与回归树,在分类树下面有两个关键的思想,第一个是关于递归地划分自变量空间的想法,第二个是用验证数据进行减枝
2024/1/25 9:25:40 626KB 数据
1
这本包含最新资料的完整书籍,反映出被ANSI/ISOC++语言标准规格书纳入的C++标准程序库的最新组成。
更明确地说,这本书将焦点放在标准模板库身上,检验其中的容器、迭代器、仿函数和算法。
读者还可以找到特殊容、字串、数值类别、国际化议题、IOStream。
每一个元素都有深刻的呈现,包括其介绍、设计、运用实例、细部解说、陷阱、意想不到的危险,以及相关类别和函数的精确樯记式和定义式。
2024/1/23 7:44:52 13.8MB c plus plus 标准库
1
TV模型图像修复;
matlab语言;
去除人脸上的杂字;
运算不断迭代就可以了,迭代次数可自定义,或是不断迭代直到某条件成立都是可以的。
1
将节点相似度矩阵,作为深度稀疏自动编码器的输入,并通过不断迭代,作为输出低维特征矩阵。
(matlab编写)
1
升级目录点击展开介绍快速简单的存储。
一个Node.js包装器,用于兼容abstract-leveldown存储,这些存储遵循的特性。
LevelDB是Google构建的简单键值存储。
它已在GoogleChrome和许多其他产品中使用。
LevelDB支持任意字节数组作为键和值,包括奇异的get,put和delete操作,批处理的put和delete,双向迭代器以及使用非常快的算法的简单压缩。
LevelDB存储按关键字按字典顺序排序的条目。
这使levelup的(将LevelDB迭代器公开为)成为非常强大的查询机制。
最常见的存储是,它提供与LevelDB的纯C++绑定。
诸如在浏览器或为一个内存中存储。
它们通常支持键和值的字符串和缓冲区。
对于一组更丰富的数据类型,您可以使用来包装存储。
建议使用包来入门。
它方便地捆绑levelup,和。
它的主要输出是levelup即,您可以执行vardb=require('level')。
支持平台我们旨在支持ActiveLTS和当前Node.js版本以及浏览器。
要获得基础存储的支持,请
2024/1/19 9:11:39 66KB nodejs javascript level browser
1
ThreeJS力导向图WebGL类使用强制定向的迭代布局在3维空间中表示图形数据结构。
将或用于基础物理引擎。
快速开始importThreeForceGraphfrom'three-forcegraph';要么varThreeForceGraph=require('three-forcegraph');甚至[removed][removed]然后varmyGraph=newThreeForceGraph().graphData();varmyScene=newTHREE.Scene();myScene.add(myGraph);...//onanimationframemyGraph.tickFrame();API参考方法描述默认graphData([数据])用于图形数据结构的Getter/setter(有关语法的详细信息,请参见下文)。
也可以用于应用。
{nodes:[],links:[]}
2024/1/13 10:10:50 56KB webgl threejs data-visualization d3js
1
多元非线性方程组求解(牛顿迭代法,含matlab代码)
1
马尔可夫决策过程概述该存储库运行3种强化算法:策略迭代,值迭代和Q学习,以解决2个MDP问题:悬崖行走和20X20冻湖网格,并比较它们的性能。
运行步骤需要Python3.6使用pip从Requirements.txt安装需求使用python3运行以下命令以创建数据和图形文件:pythonrun_experiment.py-全部pythonrun_experiment.py--plot获得的结果有关获得的结果的更多信息,请参考Analysis.pdf。
悬崖行走问题问题结果冻湖网格问题问题结果
2024/1/11 9:14:12 3.63MB Python
1
免责声明这是的经过修改的存储库。
请参阅原始存储库以获取更多详细信息。
联合身体分析和姿势估计网络(JPPNet)梁晓丹,龚科,沉和林亮,“观察人:联合的身体分析和姿势估计网络和一个新的基准”,T-介绍JPPNet是人类解析和姿态估计建立在之上的国家的艺术深度学习方法。
这个新颖的联合人类解析和姿态估计网络在端到端框架中结合了多尺度特征连接和迭代位置细化,以研究有效的上下文建模,然后实现彼此互利的解析和姿态任务。
这个统一的框架为人类分析和姿势估计任务实现了最先进的性能。
此发行版为T-PAMI2018接受的中报告的关键模型成分提供了一个公开可用的实现。
我们通过探索一种新颖的
2023/12/24 19:03:31 2.58MB ssl parsing human human-parsing
1
共 510 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡