Qt简单的图像处理工具
QT5.11,目前没有用opcv的库(估计写到后面就要用了)
https://github.com/HMY777/ImageProcess/tree/master 代码已上传到github,欢迎下载和提建议
介绍
目前实现的功能:
- smooth
- Gray
- Equal
- Sharpen
- Edge Detection
- Median Filter
以上除了灰度和均衡化,中值滤波以外都是convolution(卷积)操作,因此对于实现不同的功能只要改变kernel就行了,很方便。
卷积网上讲得文章很多,这里不再赘述了。
项目因为是自己复习空余时间自己练练手的,目前缺点还挺多,如果有时间的话慢慢改。
现在界面基本是这样的(请无视这个丑陋的界面),有请我们美丽的lena:
可以看到左边的第一幅图片是原图的RGB+灰度数据直方图,第二幅图就是处理后的图片数据。
更多效果:
中值滤波
边缘检测
均衡化
设计思路
没学过设计模式,自己设计了一下
基本的思路是,mainwindow负责有关ui的操作,打开保存图片等。imagemode负责存储图片。imagealg就是图片处理算法,还有一个qcustomplot就是qt的一个绘图库。
现在基本上每一个事件按钮都是这样写的,我觉得还挺方便的:
处理图片主要用了QImage,qt给出了直接操作像素的接口,很方便,缺点是直接用QImage.pixel()取像素的话会有一点点慢。