2017.06.18 总结近一周学习

2024-01-04 20:48
文章标签 学习 总结 18 2017.06

本文主要是介绍2017.06.18 总结近一周学习,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

总结这周,发现自己走了弯路,在XXX的帮助下,也收货不少,总结为以下几点:

1.从网上下载了c语言代码,关于图像的输入和增强,在VS下运行正确无误,但是一运行,看不出效果来,所以一直想着在VS下如何显示图像,就一直搜索如何在VS下显示图像,有两类方法:(1)用MFC显示;(2)OpenCV,这种方法自己还不太懂,以后有机会深入研究。因为一直想要看看输入一张图片后,c语言下运行效果,把图片显示出来会更直观,所以就一直搜索这方面的资料,按照“VS下利用MFC的picture控件显示和处理图像”这篇文档对代码进行调试,没能调试成功。查阅过DIB图像处理的一些知识,把bmp格式的图像按照DIB格式去处理,读取图像的矩阵数值,然后进行处理等。因为当时不懂,总以为MFC是很高深的东西。其实,直接在VS下建立MFC工程就行,然后把代码添加进去就行;

2.MFC其实相当于在VS下进行应用程序开发,里面的一些C++框架vs已经帮助你写好了,写程序时,只需要添加相应的控件,然后将图像显示出来就行。指纹识别算法程序之所以在mfc调试方便时因为,将指纹图像输入,添加相应的控件,对指纹图像进行图像增强、二值化、细化等,方便观察处理各个阶段的结果,以便对算法程序进行观察,不足之处进行改进;

3. 其实,图像显示不显示无所谓,图像显示只是协助算法研究进行观察,重要的还是里面的算法,应该把算法放在重要位置;

4. VS 2010有很多bug,不太稳定,建议用VS 2013或VS 2015;

5. 安装VS 2015时,有一步,让选择是自定义还是默认,我选的是默认,结果,装好后,把周五的eFinger程序加载进来,编译,结果几十个错,改了下,结果200个错,怎么回事? 重新建立个小工程,vs下建立c语言工程,进行测试,发现,建立工程时,有些组件不全,还得继续下载,继续下载安装vs下建立c语言工程和mfc工程的组件,再把efinger工程导进去,程序正确;

6. 安装vs 2015软件建议:其中有一步有两个选择,一个是默认,另一个是自定义;如果选择默认,安装的只是VS 2015大的框架,系统默认的应该是c#,如果需要建立c语言工程或mfc工程,则要分别安装对应的组件即可;如果选择自定义,那会就可以选择要安装的类型,根据自己的需要进行安装;

7. 如果工程比较大,错误比较如果,可以建立个小的demo测试下,如果小的demo工程运行没错,那么大工程中的错误就一点点的改;如果小的demo工程也像大工程一样很多错,那可能就是系统有问题,不是程序的问题;这也算是测试程序错误的一种方法;

8..从网上找一了套代码,用c语言写的,实现了指纹图像的读入和增强,运行代码正确无误,但是代码看不太懂,一直想要看看输入图像经过处理后的结果,所以一直搜索VS下如何显示图像,查过很多资料,基本分类两种方法:(1)VS下显示用MFC显示图像;(2)OpenCV的方法,具体这个自己还不是特别清楚,以后有机会继续深入研究。因为一直想着把图像显示出来,所以一直查这方面的资料,走了弯路。其间,我用MFC调试过,没成功,是按照“VS 2010下MFC的picture实现”这篇文档调试的,当时对MFC的了解还不太深入,认为MFC是个很神奇的东西,以为很高深,因为那时还不太懂,也没调试成功。现在明白了,MFC其实就相当于在VS下进行应用程序开发。再之后,在XXX指点下,明白了MFC可以在VS下建立工程,VS下可以建立很多类型的工程,c语言的、C++、c#等,用VS MFC显示图像其实就是在VS下建立MFC工程,然后把代码和控件一点点加进去,最后运行,显示图像的运行效果;

这篇关于2017.06.18 总结近一周学习的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

Python中连接不同数据库的方法总结

《Python中连接不同数据库的方法总结》在数据驱动的现代应用开发中,Python凭借其丰富的库和强大的生态系统,成为连接各种数据库的理想编程语言,下面我们就来看看如何使用Python实现连接常用的几... 目录一、连接mysql数据库二、连接PostgreSQL数据库三、连接SQLite数据库四、连接Mo

Git提交代码详细流程及问题总结

《Git提交代码详细流程及问题总结》:本文主要介绍Git的三大分区,分别是工作区、暂存区和版本库,并详细描述了提交、推送、拉取代码和合并分支的流程,文中通过代码介绍的非常详解,需要的朋友可以参考下... 目录1.git 三大分区2.Git提交、推送、拉取代码、合并分支详细流程3.问题总结4.git push

Kubernetes常用命令大全近期总结

《Kubernetes常用命令大全近期总结》Kubernetes是用于大规模部署和管理这些容器的开源软件-在希腊语中,这个词还有“舵手”或“飞行员”的意思,使用Kubernetes(有时被称为“... 目录前言Kubernetes 的工作原理为什么要使用 Kubernetes?Kubernetes常用命令总

Python实现数据清洗的18种方法

《Python实现数据清洗的18种方法》本文主要介绍了Python实现数据清洗的18种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录1. 去除字符串两边空格2. 转换数据类型3. 大小写转换4. 移除列表中的重复元素5. 快速统

Python中实现进度条的多种方法总结

《Python中实现进度条的多种方法总结》在Python编程中,进度条是一个非常有用的功能,它能让用户直观地了解任务的进度,提升用户体验,本文将介绍几种在Python中实现进度条的常用方法,并通过代码... 目录一、简单的打印方式二、使用tqdm库三、使用alive-progress库四、使用progres

Android数据库Room的实际使用过程总结

《Android数据库Room的实际使用过程总结》这篇文章主要给大家介绍了关于Android数据库Room的实际使用过程,详细介绍了如何创建实体类、数据访问对象(DAO)和数据库抽象类,需要的朋友可以... 目录前言一、Room的基本使用1.项目配置2.创建实体类(Entity)3.创建数据访问对象(DAO

Java向kettle8.0传递参数的方式总结

《Java向kettle8.0传递参数的方式总结》介绍了如何在Kettle中传递参数到转换和作业中,包括设置全局properties、使用TransMeta和JobMeta的parameterValu... 目录1.传递参数到转换中2.传递参数到作业中总结1.传递参数到转换中1.1. 通过设置Trans的

C# Task Cancellation使用总结

《C#TaskCancellation使用总结》本文主要介绍了在使用CancellationTokenSource取消任务时的行为,以及如何使用Task的ContinueWith方法来处理任务的延... 目录C# Task Cancellation总结1、调用cancellationTokenSource.

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert