数字图像处理(6):设计数字图像处理GUI界面C语言,未用opencv


设计一个集成各种图像处理算法的软件(前几次作业已经实现的算法、功能)

一、平台

使用平台:VS2015+MFC
语言:C语言

VS: Microsoft Visual Studio(简称VS)是美国微软公司的开发工具包系列产品。VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等。所写的目标代码适用于微软支持的所有平台,包括Microsoft
Windows、Windows Mobile、Windows
CE、.NET Framework、.NET Compact
Framework和Microsoft Silverlight 及Windows Phone。

MFC: 微软基础类库(英语:Microsoft Foundation Classes,简称MFC)是微软公司提供的一个类库(class libraries),以C++类的形式封装了Windows API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。其中包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。

界面如下:

在这里插入图片描述


在这里插入图片描述

二、实现功能

1、打开图片文件

在这里插入图片描述

点击“打开”按钮,即可选择图片文件进行打开并在左侧窗口显示出来。

目前只支持.bmp格式的图片。

2、图像取反

在这里插入图片描述

点击“图像取反”按钮,可对原图进行取反操作。

3、直方图均衡化

在这里插入图片描述


(注:这一步的操作是有问题的,彩色直方图均衡化不应该对RGB三通道分别操作,关于这一问题以后会说到,这里就不多说了)

4、幂次变换

在这里插入图片描述

输入v*10的值,点击幂次变换按钮实现幂次变换。

三、遇到问题

在这里插入图片描述

MFC读取的是bmp格式文件,最开始调试时想看一下读取的数据对不对,就把数据输出看了一下,结果如上,左是原图,右是输出的图。可以看到不仅左右上下翻转了,图像颜色也变了。

关于翻转,是因为bmp格式读取图像顺序的原因,这个老师讲过。

关于颜色也变化就于点好奇,,,上网查了一下,原来bmp格式不是RGB格式而是BGR这个顺序。

不过还挺好看的:)

反思:

这周的作业,前段时间一直在纠结用MFC还是QT,最后先学会了MFC便用了MFC。写的代码架构不太好,有点乱。

附代码:

代码有点长,还是之后有时间上传到github吧,到时候会在这里更新地址

本工程源码已更新至github,欢迎star,欢迎PR:)

相关文章

学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习...
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面...
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生...
Can’t connect to local MySQL server through socket \'/v...
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 ...
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服...