【没钱ps,我用OpenCV!】Day 30 - Final Project v3,於是没钱买ps的我,开发了自己的photoshop,我的天啊 My photoshop made by OpenCV

My photoshop ver3.0

https://ithelp.ithome.com.tw/upload/images/20201009/20120424JkPgV13XD4.png

功能列表

# ------  My photoshop Release notes ------ #
# ver3.0 (2020.10.12)
1. 优化整体程序稳定度
2. 新增油漆工具 (位於 "My color panel" 视窗,可自选色)
3. 新增新视窗 "My control panel",为所有调整的主控版 (之前的调整功能也移至这里)
4. 同上,同时移除主画面 "My photoshop" 的所有调整功能
5. 新增可调整RGB分量功能
6. 新增可调整色温功能 (冷色系、暖色系)
7. 新增锐化功能
8. 新增4种不同模糊功能
9. 新增22种不同 colormap
10. 新增视窗自动调整大小的功能
11. 新增自动将视窗移动至固定位置的功能,以後不用自己移动视窗了!
# ver2.0 (2020.10.11)
1. 新增视窗 "My histogram",可以随时查看现在图片的 RGB直方图
2. 新增视窗 "My color panel",可以自己选颜色、自己画点
# ver1.0 (2020.10.10)
1. 新增储存档案功能
2. 离开应用程序的稳定优化
3. 新增关闭程序的文字提示
4. 新增调整光线、对比度功能
5. 新增调整明度、饱和度功能
6. 新增旋转图片功能
7. 新增可增加图片噪点的功能,相当於增加图片颗粒感

-> 此篇文章的程序码 github

Day30_My_photoshop_v3.ipynb

前言

所以没钱买 photoshop 的我,最後自己做了一个 photoshop 吗...

这系列会把之前所学到的东西全部整理到一支程序中,
当然我知道如果用类似 QT 可以整出更好的视觉化界面
但我们的重点还是放回只靠 OpenCV 能做的极限能到哪边哈哈哈

新增功能一览

1. 优化整体程序稳定度

这次的改版主要做的事情是将 无限while回圈 的部分,
加了个 time.sleep(0.001)
这样做可以大幅降低 memory 的使用率,
而且 time.sleep(0.001) 对於人是几乎不会有感觉的,
加了这行程序码能让我们的程序更好的使用电脑资源。

2. 新增油漆工具 (位於 "My color panel" 视窗,可自选色)

这个就是 漫水填充法 cv2.floodFill 的应用,
可参考: 【没钱ps,我用OpenCV!】Day 21 - 花式修图3,OpenCV 也有 photoshop 的魔术棒工具?! 漫水填充法 cv2.floodFill (Magic Wand Tool)

3. 新增新视窗 "My control panel",为所有调整的主控版 (之前的调整功能也移至这里)

4. 同上,同时移除主画面 "My photoshop" 的所有调整功能

因为我们接下来会新增一大堆功能,
如果像之前的画面直接加在图片下方空间会不够用。
因此我们新增一个主控台视窗 "My control panel",
我们将之後所有要加的功能加进这里面。

5. 新增可调整RGB分量功能

reference: 【没钱ps,我用OpenCV!】Day 6 - 日系滤镜3,运用 OpenCV 调整色调(冷色系/暖色系)、色温(白平衡)modify color temperature, white balance

6. 新增可调整色温功能 (冷色系、暖色系)

reference: 【没钱ps,我用OpenCV!】Day 6 - 日系滤镜3,运用 OpenCV 调整色调(冷色系/暖色系)、色温(白平衡)modify color temperature, white balance

7. 新增锐化功能

reference: 【没钱ps,我用OpenCV!】Day 26 - 进阶修图6,锐化图片,将模糊的图片变得更清晰吧! sharpen images

8. 新增4种不同模糊功能

9. 新增22种不同 colormap

reference: 【没钱ps,我用OpenCV!】Day 27 - 花式修图4,颜色映射 - OpenCV 内建的自动配色?! auto recolor images, cv2.applyColorMap

这边皆可以从之前我的文章找到相关内容哦!

10. 新增视窗自动调整大小的功能

因为有时视窗大小会太大,而实际上我们并不需要太大的视窗,
(例如:我们只有一条滑动条,但滑动条被拉的太长,实际上没必要)
因此我固定了视窗的大小。

11. 新增自动将视窗移动至固定位置的功能,以後不用自己移动视窗了!

这算是对自己执行程序後的视窗分布比较友善一些,
自动把所有视窗移动到对应位置,
就不需要手动再移动了!

而且,我们还模拟了 photoshop 视窗控制的分布位置,
现在看起来有更像 photoshop 的感觉了! (吧)

-> 30天的感谢 与 未来更新

到了今天已经第30天了,很感谢所有一直默默在追随的读者们,
另外也很感谢我的朋友们,愿意让我洗我的fb版面还没删我好友XDDD,
另外也很感谢我的同事、主管、部分朋友,一直很支持我写完这系列的主题,
在30天途中也给了我不少能写东西的点子,让我有源源不绝的题目。
其实我也没想到自己居然最後乾脆自己做一个 photoshop 雏形出来,
所以说没钱买 photoshop,就乾脆自己把 photoshop 做出来吗...

未来的话,其实这30天并不是终点,
因为我也还有很多题目还没写完...,
这30天的 OpenCV 学习笔记让我学习到了不少新东西,
也等同於预写了很多实用的函数,之後可以直接在需要时使用,
(当然有需要的朋友也能够直接拿去用哈哈哈哈哈),
但连续写30天的我,也需要先休息一下XD,
该出去玩不要再待在电脑前当个技术宅了XDDD,
之後还是会继续写,不定期更新,
我会继续把实用的函数整理起来等着以後自用与顺便帮助别人,
以上,再次感谢所有支持我的人们。


<<:  新手学习JavaScript:day28 - Todolist(1)

>>:  出生第31~34天 满月流水帐

5 开始把结构写成程序吧!

昨天我们使用这两个 struct 来代表整个游戏的状态,那我们今天就实际的来定义他们 在开始之前 在...

[D02] 数位影像的基本介绍(2)

经过上一篇的介绍,相信大家对影像有基本的了解了! 接下来要介绍影像的色彩 ~ 常见的是三原色光模式(...

第三章

接续前一章节提到的空间,最後还是选了便宜的Hostinger,他有着无比底廉的价格,并且在测试使用时...

策略回测分析

回测分析结果 import datetime import backtrader as bt imp...

Day18 - 铁人付外挂前置作业(三)- 建立资料夹结构

使用 Valet 或是其他本机环境软件把 WordPress 安装好之後,切换到网站根目录,可以看到...