编译原理课的大作业包含三个小实验在一个cpp文件里正则表达式转换为nfanfa转换为dfadfa最小化个人原创代码
2024/1/30 3:10:21 13KB 编译原理 NFA DFA
1
开发环境为vs2015debugx64+opencv3.2。
资源为一个源.cpp文件,三个算子分别写成了三个函数。
下载前请先看一下环境和opencv版本是否一致。
1
使用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
CImage类是ATL和MFC共用的一个类,其头文件为atlimage.h,主要用于图片文件的打开,显示与保存。
这里需要注意的是,在VS2010和VS2012的MFC编程中,不需要将头文件包含进来。
MFC中要使用CImage类,必须先将头文件包含进来,可以包含在当前代码的CPP文件中,也可以包含在所属类的头文件中,不过最好还是包含在工程的stdafx.h文件中。
2024/1/20 1:30:29 9KB atlimage.h atlimage.cpp mfc 代码
1
在PCl1.8.0和VS2013下写的关于两片点云求交、点云求异、求补集的算法代码,已经编辑好的工程,可以直接打开.sln文件运行。
如果不是PCl1.8.0或者VS2013,可以将.cpp文件添加到自己新建的工程中运行。
我的博客中有相关文章可以查看
2023/11/28 9:48:12 20.24MB PCL 点云求交 点云求异
1
用C++编写的关联规则挖掘算法实现。
文件中有.exe程序直接运行!不过要在.cpp文件中修改数据集的路径
2023/11/7 4:48:07 2.9MB C++ 关联规则
1
COMP3980_Assignment1_TicTacToe作者:艾里斯·罗(IrisLaw),蒂芙尼·古(TiffanyGu),比利·阮(BillyNguyen)1.安装dcfsm库请从D'Arcy的dcfsm存储库安装dcfsm库使用以下命令安装到计算机上(如果尚未安装):mkdirbuildcdbuildcmake..cmake--build.sudocmake--install.2.运行服务器确保在Linux机器上安装了CMAKE3.17或更高版本。
首先,git将此仓库克隆到首选文件夹。
然后,在终端中,找到将项目克隆到的文件夹,并更改目录。
如果要使用本地计算机,则可以转到client.cpp文件并将IP地址更新为“127.0.0.1”并保存cmake..键入cmake..并按Enter。
然后,输入cmake--bui
2023/9/19 8:47:55 7KB C
1
LSD直线检测源码,VS2015+opencv,创建新项目,添加头文件,c和cpp文件,编译后可直接运行。
2023/8/7 4:58:23 21KB LSD opencv c
1
jpegjpg解码C++源码主程序只有1个cpp文件,非常简结
2023/8/4 18:48:56 1.43MB jpeg jpg 解码 C++源码
1
原程序分为.cpp文件与.h文件运行时请分开源程序可直接运行源程序已经包含了词法分析与三地址代码生成程序源代码
2023/7/18 6:01:16 9KB 编译原理 C语言 词法分析
1
共 61 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡