基于python+OpenCV的简易图片负片化脚本
2022/6/8 5:20:09
本文主要是介绍基于python+OpenCV的简易图片负片化脚本,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
引出&这个脚本的用处
最近发现电脑使用暗色系主题时能挺大程度上缓解用眼疲劳的,因此就给平时最常用的markdown编辑器换了个暗色主题
不过对于文字内容来说更换配色很简单,但是图片就比较麻烦了,更改颜色不方便
黑底白字的界面上强塞入这么大一个白色图片,简直逼死强迫症啊!
因此打算写一个小脚本,来实现把源图片拖拽到某个处理程序上就能自动转换为黑色系。
不过针对特定颜色进行更改好像有点麻烦而且效果不是很好。比如识别某个像素的RGB值在白色区间内时,就全部改为(0,0,0)?使用这种暴力阈值法处理低分辨率图片的图像轮廓边缘会很糟糕。
因此不如使用“负片”的效果,只是对颜色进行更改,不会丢失信息。
实现
由于python脚本在windows中本身不支持“把文件拖拽到脚本上作为执行参数”,但是bat脚本是支持的,因此可以把待处理图片拖拽到bat脚本上来读取图片路径,然后再bat脚本再调用python脚本,并把刚才的图片路径作为python脚本的执行参数,达到“间接拖拽”的效果
将文件拖拽到我上以处理为负片.bat
:
:: 写上这条指令,不然执行bat时会把下列的每条指令都打在公屏上 @echo off :: %*代表的是拖拽到bat脚本上的所有文件的集合,最好把这个值保存在变量里,不然待会调用函数的时候再使用%*好像值就不一样了? set dragged_items=%* :: %0代表的是该文件本身所在的地址,如C:\Users\CSD\Documents\Enote_database\__batch_processor__\将图片啥啥啥.bat set LocalPath=%0 :: 这是在调用下面那个execute_python_script函数,参数就为刚才设置的LocalPath call :execute_python_script %LocalPath% :: 显示一行“按下任意按钮以继续...” :: pause :execute_python_script :: 下面的等号后边写同级目录中那个python脚本的名称 set python_script=invertPICS.py :: 这是把刚才批处理脚本自身的 文件地址 中的自身名称(将图片啥啥啥.bat)给删掉了,剩下一个路径,然后把python脚本的路径跟它的路径拼接起来,就变成python脚本的路径了 :: (当然前提肯定就是你得把python脚本和bat脚本放在一个目录下啦=_=) set file_path=%~dp1%python_script% :: 最后,终于可以执行python脚本了,参数就是刚才拖拽到bat上的那些文件 python %file_path% %dragged_items%
invertPICS.py
:
import sys import cv2 as cv pic_extensions = [".png", ".jpg"] file_paths = sys.argv[1:] print(file_paths) for Pic in file_paths: for pic_extension in pic_extensions: if str(Pic).endswith(pic_extension): Pic_data = cv.imread(Pic, 1) # cv.imshow("preview", Pic_data) # cv.waitKey(3000) try: test = Pic_data.shape[0] Pic_data = 255 - Pic_data cv.imwrite(Pic, Pic_data) except AttributeError: # OpenCV的imread不支持中文路径 print(">>Error! you'd gotta use a pure English filename!") break
这篇关于基于python+OpenCV的简易图片负片化脚本的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-08有遇到过吗?同样的规则 Excel 中 比Python 结果大
- 2024-03-30开始python成长之路
- 2024-03-29python optparse
- 2024-03-29python map 函数
- 2024-03-20invalid format specifier python
- 2024-03-18pool.map python
- 2024-03-18threads in python
- 2024-03-14python Ai 应用开发基础训练,字符串,字典,文件
- 2024-03-13id3 algorithm python
- 2024-03-13sum array elements python