# 运行说明文件 # 项目介绍 ## 主要功能实现 ​ 这是一个基于django后端框架,bootstrap前端框架,opencv计算机视觉和机器学习软件库以及神经风格迁移(NST)完成的可视化web应用程序,该图像处理系统可以完成**图像处理的基本功能**,上传一张原图片,点击进行转换,即可展示出经过处理后的图像,功能包括:opencv基本绘图,小波变换,RGB色彩空间,HSV色彩空间,与或非逻辑运算,加减乘除算术运算,频域的平滑-低通滤波器,频域的锐化-高通滤波器,空域的平滑。空域的锐化,图形扩展平移和旋转,图像翻转,仿射变换,直方图的相关处理,使用roberts算子进行边缘检测,使用Prewitt算子和sobel算子进行边缘检测,使用laplacian算子进行边缘检测,使用LoG算子进行边缘检测,使用Canny算子进行边缘检测,使用Hough变换实现线条变化检测,图像形态学操作,腐蚀,膨胀,开运算,闭运算,噪声描述器:添加椒盐噪声,均值类滤波器,排序统计类滤波器,选择性滤波器,傅里叶变换等基本功能。 ​ 该图像处理系统还能完成**图像风格迁移**,涉及利用深度卷积神经网络和算法从一幅图像中提取内容信息并从另一幅参考图像中提取风格信息。图像的风格包括:Candy风格,feathers风格,la_muse风格,mosaic风格,starry_night风格,the_scream风格。源代码实现的图像风格迁移只能根据固定目录中的待转换图片和风格图片进行固定一对一的改变,即1.png只能利用candy风格进行转化; 2.png只能利用feathers风格进行转化......因此所作的改进是:**在web应用程序端可以进行风格图片的选择,基于用户可以选择上传图片的处理,系统可以在任何一种用户指定的风格下对任意一张用户上传图片进行处理,并进行展示。4** ## 交互模式 本项目通过web应用界面进行交互,用户可通过点击按钮进行图片的转换 ## 运行效果 请查看“运行截图文件.pdf” # 推荐环境: ``` IDE:Pycharm_Professional_2021.2.1_Protable python3.9.13 opencv-contrib-python4.6.0 numpy1.23.0 ``` # 运行过程: 1.在pycharm中安装利用pip安装django,numpy,opencv-contrib-python,matplotlab等包 ``` pip install django ``` ``` pip install openvb-contrib-python ``` ``` pip install matplotlib ``` 2.将项目导入 3.在终端输入: ``` python manage.py runserver ``` 4.即可使用系统 注意:如果显示缺少包,安装对应的包即可。 可以参考链接: ``` https://blog.csdn.net/jiangyangll/article/details/105215256 ``` # 参考文献 [1] [用Python快速实现图片的风格迁移 - 知乎 (zhihu.com)](https://zhuanlan.zhihu.com/p/50852257) [2] [(160条消息) 感知损失(perceptual loss)详解_马鹏森的博客-CSDN博客_感知损失](https://blog.csdn.net/weixin_43135178/article/details/116784366) [3] [JohnsonECCV16Supplementary.pdf (stanford.edu)](https://cs.stanford.edu/people/jcjohns/papers/eccv16/JohnsonECCV16Supplementary.pdf) [4] https://cs.stanford.edu/people/jcjohns/papers/eccv16/JohnsonECCV16.pdf [5] [(160条消息) 感知损失(perceptual loss)详解_南淮北安的博客-CSDN博客_感知损失](https://blog.csdn.net/nanhuaibeian/article/details/102668095) [6] [损失函数(Loss Function) - 知乎 (zhihu.com)](https://zhuanlan.zhihu.com/p/261059231) [8] [(160条消息) 【深度学习】介绍六大类损失函数(九)_Florrie Zhu的博客-CSDN博客](https://blog.csdn.net/resume_f/article/details/105053631) [9] Eigen, D., Fergus, R.: Predicting depth, surface normals and semantic labels with a common multi-scale convolutional architecture. In: ICCV. (2015) [10] Szegedy, C., Zaremba, W., Sutskever, I., Bruna, J., Erhan, D., Goodfellow, I., Fergus, R.: Intriguing properties of neural networks. In: ICLR. (2014) [11] He, K., Zhang, X., Ren, S., Sun, J.: Deep residual learning for image recognition. In: CVPR. (2016) [12] Gross, S., Wilber, M.: Training and investigating residual nets. http://torch.ch/blog/2016/02/04/resnets.html (2016) [13] [数字图像处理图像复原算法论文.docx - 迅下文库 (xxwkw.com)](https://www.xxwkw.com/doc/3929248.html) [14] [图像风格转换系统 | TheBetterKong](http://www.thebetterkong.cn/2021/06/25/DeepLearning/style-transfer/) [15] [(160条消息) Gram矩阵_仙女阳的博客-CSDN博客_gram矩阵](https://blog.csdn.net/wangyang20170901/article/details/79037867) [16] [什么是感受野(Receptive Field)? - 知乎 (zhihu.com)](https://zhuanlan.zhihu.com/p/394917827) [17] [卷积算法另一种高效实现,as_strided详解 - 知乎 (zhihu.com)](https://zhuanlan.zhihu.com/p/64933417) [18] [一文看懂反卷积网络 - 简书 (jianshu.com)](https://www.jianshu.com/p/4e865ed17602) [19] [(160条消息) 搞懂深度学习中的 residual blocks(残差块)看这一篇文章就够了!!!_南淮北安的博客-CSDN博客_残差块](https://blog.csdn.net/nanhuaibeian/article/details/102698042) [20] [神经网络笔记(四)——Spatial Batch Normalization & Spatial Group Normalization - 高轲用's Blog (gaokeyong.top)](https://blog.gaokeyong.top/nn-notes-4/) [21]https://github.com/jcjohnson/fast-neural-style