图像处理软件(基本功能都已实现,含源码)

本文介绍了一个使用Python和Qt设计的图像处理系统,包括登录功能、摄像头拍照、图像放缩、旋转、亮度对比度调整、阈值分割、像素值显示及保存图片等操作。系统采用双线性插值算法进行图像放缩,利用opencv进行图像处理,并提供了直观的像素值显示功能。用户友好且易于操作,具备一定的图像处理基础功能。

一、总体框架

二、详细设计

2.1 基本功能

2.1.1 界面设计

本系统的界面使用qt_designer设计,方便用户操作,直接鼠标拖动控件就能做出美观的界面,如图所示,省去了很多敲代码的烦恼。做完之后,保存为.ui文件,然后通过pycharm的工具包pyuic将其转化成.py文件。

2.1.2 登录功能

       在用户输入好用户名和密码后,点击登录按钮,触发login函数,这时会用判断语句判断用户名和密码是否正确,正确则成功登录,如果不正确,则弹出帮助窗口,该窗口直接显示正确的用户名和密码。 

 2.1.3 摄像头拍照

       本系统专门设计了一个利用电脑摄像头获取图片的功能,当用户点击该按钮时,会触发摄像头调用函数,并用opencv用窗口每隔100ms将捕获的帧显示出来,这时用户按下q键即可进行拍照,并将照片显示在界面上,其原理就是将最后一帧保留。

 

  2.1.4 图像放缩

       当用户输入好宽高之后,点击放缩按钮,这时会接受这个点击事件,运行图像放缩函数。图像放缩主要有2种算法,即最近邻插值和双线性插值。本系统使用的是双线性插值算法。

 

   2.1.5 图像旋转

       用户需要输入一定的角度,然后点击旋转按钮即可,如果角度为负,则会提示输入错误。

  2.1.6 亮度对比度变换

       用户分别输入亮度和对比度参数,再点击相关按钮进行操作,对于数字图像变换,设原像素灰度为f(i,j),转化后的像素灰度为g(i,j),则常用的线性变换是g(i,j)= af(i,j) + b, 其中系数a影响图像的对比度,系数b影响图像的亮度[3],具体如下:
(1) a=1时是原图;
(2) a>1时对比度增强,图像看起来更加清晰;
(3) a<1时对比度减弱,图像看起来变暗;
(4) b影响图像的亮度,随着增加b(b>0)和减小b(b>0),图像整体的灰度值上移或者下移, 也就是图像整体变亮或者变暗, 不会改变图像的对比度

 亮度参数200

 对比度参数2

2.1.7 阈值分割

       系统只使用了一种阈值分割方法,用户不需要输入任何参数,直接点击按钮即可。原理就是将首先将RGB图片用opencv转化成灰度图,然后大于127的像素点灰度值设为最大(如unit8的格式为255小于127的像素点灰度值设为0最终得到二值图

 2.1.8 像素值显示

       本系统设计的该功能非常直观,只要用户传入图片后,将鼠标放在界面上就可打印出鼠标位置坐标。在把鼠标移动到图片上时,不仅会打印坐标,还会打印RGB像素值。

 2.1.9 保存图片

       在用户每进行一个操作后,都可以点击保存图片按钮,这时会将显示过的图片保存在当前代码所在目录下,格式为.jpg,并显示保存成功。 用户可以保存任意次数,当用户没有进行任何操作时,则会输出提醒语句.

 

 三、总结

       本系统使用python和图形界面开发工具Qt制作,使用python编写并实现了多个图像处理功能,涉及到了很多算法和数据结构,遵循面向对象的程序设计思路,相对于其他的处理系统,有2个主要优点,一个是设计了登录界面,一个是可以通过摄像头拍照获取图像。最终形成对用户友好的图像处理系统。当然也有一些需要完善的地方,比如可以设计数据库登录系统,后台保存用户登录信息。这样交互性会更加完美。

       总而言之,该系统能够对图像进行一些基本的操作,方便用户使用。

附源代码地址  https://download.csdn.net/download/HUTAOhh/85334811

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HUSTer-deeplearning

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值