七夕python小礼物

  • 七夕Python小礼物
    • 环境配置操作
      • 1.关于Python的安装:
      • 2.安装部署OpenCV:
        • 关于OpenCV环境配置:
          • 首先:
          • 然后:
      • 配置openpyxl的安装包:
      • 安装配置numpy库(补充)
    • 代码部分
      • 导入OpenCV和openpyxl
      • 读取Excel表格
        • 设置路径
        • 加载工作簿
        • 获取活动中的表格
      • opencv读取图像并显示
      • 获取图像的高,宽并打印
      • 遍历循环图片,获取各像素点位置的像素值,并利用openpyxl改写对应位置单元格颜色
    • 总结

七夕Python小礼物

主要工具:Python+OpenCV+openpyxl
目的:Python操作,OpenCV安装包实现图片获取和放入Excel表,最后通过openpyxl实现图像填充。
呈现结果:通过缩减大小,最终完整呈现出图片的原本形式在Excel里。
先来看看效果图吧:
(这是偷朋友的手绘图。墙裂建议白底高清图为宜,后面也好修!!)

环境配置操作

1.关于Python的安装:

比较常用的是在官网上获取安装链接包,
Python官网链接:https://www.python.org/
这里也可以直接通过360软件下载,由于是在win7上操作的,这里的建议是安装32位,因为64位的有些功能在win10上是无法实现。第二个要注意的点是,建议下载当前最新版本中早期的子版本,这是因为最新版本可以规避相关的bug问题,同时,子版本选择最原始的版本也是为了迁就win7。这里我选择的是3.8.3版本。需要注意的安装操作是:在引导安装的界面,记得Add python3.8 to path选项勾上,不勾选的话,安装完需要自己配置环境变量。然后一路extract就好了。
完成安装,检验是否安装成功。ctrl+R打开运行,或者直接搜索条,输入cmd打开命令行。最后在终端窗口输入 “python” 命令来查看本地是否已经安装Python以及Python的安装版本。

网上偷的图,我的电脑是win7。还是自己设置安装路径好点。

2.安装部署OpenCV:

如果win7安装opencv的屁事其实蛮多的。
首先,OpenCV就是一个库,是一个SDK,一个开发包,是需要解压使用的。
官方下载链接:https://opencv.org/
在win7系统上操作的,所以就选择windows下载安装就好了,版本的话,这个还是挑最新的早期原始子版本安装,新手避坑大法嘛!


随便挑个版本,设置好安装路径,就可以了。安装好后是这样子。

接下来:就是麻烦的开始。

关于OpenCV环境配置:

然后双击他,解压,就是大佬们说的安装,实质就是解压一下,解压完出来一个文件夹,其他什么也没发生。你把这个文件夹放在哪都行,不过你要记住他在哪。一路extract后,打开显示的是这样的:
OpenCV是一个SDK,得使用工具开发它,比如耳熟能详的Visual Studio(当然有些大佬只用记事本或神一样的Vim),这里我们是用python,也是比较简单点,在Python环境中部署OpenCV了。

首先:

如果运气好,直接在cmd命令行可以安装到的。直接用win+R 打开运行,输入cmd进入命令行窗口,然后在窗口里输入:pip install opencv-python,则可以自行安装了。
从图中红线可以看到,Opencv库已成功安装,且这个库的大小是23.1MB。
然后检测一下,在命令Python的端口输入:敲入import cv2,未报错,说明OpenCV库安装成功。如图
但我TMD就不是这样了…因为是在外国网站下载的东西,鬼知道神马网络波动…
所以,出现了这些指令报错…

然后:

可以改用其他下载路径(使用镜像),指令如下:

①:pip install opencv-contrib-python
②:pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple

(这个是清华的镜像,有很多库或者插件都可以用这个下载,会快很多哦)
ps:这里再附一下国内的镜像源,下载成功概率会高很多吧应该。。

清华:https://pypi.tuna.tsinghua.edu.cn/simple

阿里云:http://mirrors.aliyun.com/pypi/simple/

中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/

华中理工大学:http://pypi.hustunique.com/

山东理工大学:http://pypi.sdutlinux.org/

豆瓣:http://pypi.douban.com/simple/
还是报错的话,再试试指令:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn opencv-python
还是不行,这个就可能是pip版本问题,删掉重新下过吧。
自动更新:进入cmd,输入python -m pip install -U pip即可
python会自动卸载以前的旧版本,并下载安装新版本。
(不推荐使用python -m pip install --upgrade pip,这个经常会报错)
删掉重新下载过pip,
pip下载地址: https://pypi.org/project/pip/#files
下载source类型的,(我也不知道带source的都是免费的)
解压,然后cmd,执行 :python setup.py install
安装pip。
(更厉害的是方法有,但我都不会,我忘记我之前是怎么删了重下的了,反正当时更新也报错,真的崩溃,直到看到那篇博客…可惜没点个收藏)。

配置openpyxl的安装包:

openpyxl比较好安装,反正我安装的时候没那么多屁事。
1.下载地址:https://pypi.python.org/pypi/openpyxl
2.打开命令行(在搜素中输入cmd或者win+R),进入openpyxl解压文件夹,执行 pip install openpyxl
3.检测是否安装成功:重新进入python编辑器,输入from openpyxl import load_workbook,不报错即可。
4.以上是自动安装的,手动安装没试过,可以试试点击解压安装包到python的根目录。
OK,总结环境配置,其实就两个步骤
OpenCV:pip install opencv-contrib-python
openpyxl:pip install openpyxl

安装配置numpy库(补充)

我也不知道为啥有的python没带,我一开始以为都有的。cmd输入numpy查看一下,没有,就下一个吧

命令行进入以后输入: where python
找到安装目录后,找到Scripts文件夹所在位置:如Programs\Python\Python38\Scripts
下载地址:https://pypi.org/project/numpy/#files
要区分是32位还是64位,别下到mac或者linux系统,以Python的环境为准就好了

最后,命令行输入:pip3.8 install D:\Programs\Python\Python36\Scripts\numpy-1.19.2-cp38-cp38-win_amd32.whl
(地址是输入具体安装的位置)

代码部分

(其实也是源码的,要是觉得麻烦直接跳文末,有代码附上。)
配置完成后就是导入需要的安装包,(我不注意中英文格式,这里有可能是中文有可能是英文,直接crtl+c/v肯定是不行的)

导入OpenCV和openpyxl

1.#导入OpenCV和openpyxl
2.import openpyxl
3.import cv as cv2
4.impor numpy as np
5.from openpyxl import load_workbook
6.from openpyxl import workbook
7.#导入字体、边框、颜色以及对齐方式相关的库
8.from openpyxl.styles import Font,Border,Side,PatternFill,Colors,Alignment
#这里需要注意的点:程序有一点没能调出来的bug,可能会运行成功但excal无法打开,换一个行宽都小一点的图片就行了,或者利用opencv对图片缩放(详见程序第61行)

读取Excel表格

(我们首先需要读取一个xlsx格式的Excel表格,需要提前在工作路径或者某绝对路径进行创建,并自定义命名,然后我们得到了一个表格对象sheeet,就可以对该进行读写设置等操作)

设置路径

1.#file_path = r"C:\Users\Administrator\Desktop\7\zhaopian.xlsx" #绝对路径,这里自己要提前设置好,就是开个excel,命名为zhaopian或者其他什么

加载工作簿

1.wb = load_workbook(filename=‘zhaopian.xlsx’) #默认工作路径,zhaopian.xlsx为Excal表格名称,别设置中文,有了绝对路径就不要这个了步骤了。反之同理。

获取活动中的表格

1.sheet = wb.active
2.print(“open sheet:”, sheet.title) #打印表格标题
3.print(“row:”, sheet.max_row, “column:”, sheet.max_column)

opencv读取图像并显示

‘’’
opencv的imread函数读取图片到srcImage
如果按原始大小读取图片,可以改为:srcImage = cv.imread(‘zhu.jpg’)
加上第二个参数33:srcImage = cv.imread(‘zhu.jpg’,33)
表示将原图缩为原来的1/4进行读取。当原图过大是可以采用
‘’’
srcImage = cv.imread(‘zhaopian.jpg’) #zhaopian.jpg为照片名字,自行更改
cv.imshow(‘image’,srcImage)

获取图像的高,宽并打印

height = srcImage.shape[0]
width = srcImage.shape[1]
print(“height:”, height, “width:”, width)

遍历循环图片,获取各像素点位置的像素值,并利用openpyxl改写对应位置单元格颜色

for y in range(1, height):
print(“第几行:”,y) #供查看进度
for x in range(1, width):
Blue_value = srcImage[y,x,0] #获取蓝,绿,红三个通道
Green_value = srcImage[y,x,1]
Red_value = srcImage[y,x,2]
color = (Red_value,Green_value,Blue_value) #转为元组并附给color_transform函数得到16进制
hex_ = color_transform(color)
fille = PatternFill(fill_type=‘solid’,fgColor= hex_) #设置颜色
sheet.cell(y,x).fill=fille #openpyxl进行颜色填充

wb.save(filename = ‘zhaopian.xlsx’) # 保存工作簿
print(“保存成功”)

cv.waitKey(30)#图片展示30ms
cv.destroyAllWindows()

总结

代码文件附上(配置好环境,直接Pythonidle打开就好):[链接:https://pan.baidu.com/s/1b88erR42Bip5q1XB-6U0jQ
提取码:hqe5]

发给心爱的女孩,然后告诉她,这是我一个一个单元格填充的。
带上身份证,我们今晚一起去看电影吧!

七夕python小礼物相关推荐

  1. ✨数织游戏✨:Python 制作的成本一毛钱却诚意满满的小礼物!!

    前文 今天就是七夕了,晓得你们有对象的或者正在追妹子的,肯定又在绞尽脑汁想买什么别出新裁的礼物,如果女生感觉你的礼物花心思了,那肯定是好感度倍增啊. 今天给各位分享一个用 Python 制作的成本一毛 ...

  2. python小软件实例教程_【趣味案例】用Python做一个时光回忆录小软件,女朋友当场流泪说非我不嫁!...

    "时光回忆录",主要分为以下四部分,登录界面的设计,倒数日模块,照片模块以及甜言蜜语模块. 登录界面 因为照片,情话这种较为隐私的东西,我决定设计一定的登录门槛.但是与此同时,我给 ...

  3. python小课是什么-攻陷朋友圈的8.9元Python小课,有哪些新套路?

    欢迎关注"创事记"微信订阅号:sinachuangshiji 文/套路编辑部 来源:运营研究社(ID:U_quan) 记得有那么一段时间,我经常会在朋友圈刷到同一条广告.神奇的是, ...

  4. python小课网站_攻陷朋友圈的8.9元Python小课,有哪些新套路?

    欢迎关注"创事记"微信订阅号:sinachuangshiji 文/套路编辑部 来源:运营研究社(ID:U_quan) 记得有那么一段时间,我经常会在朋友圈刷到同一条广告.神奇的是, ...

  5. 七夕送男朋友什么礼物最好?七夕送男朋友礼物排行榜

    浪漫的七夕节又快到了,又有一大片女孩子在思考该送自己的男朋友什么礼物,不管在一起的还第一个月还是第十年,情人节的礼物都不应该缺少,毕竟生活需要仪式感,尤其是在一些重要的日子里,男孩子也是需要小惊喜小礼 ...

  6. 送给女朋友的小礼物(程序员)

    送给女朋友的小礼物 程序员还有女朋友?(没错,就是有) 四个模块 一.主页 1.导航栏 2.轮播图 3.页面锚点 4.部分内容展示 二.照片墙 三.我想对她说的话 四.历程 相关代码 程序员还有女朋友 ...

  7. 七夕送什么礼物,七夕送女朋友礼物推荐

    七夕是一个仪式感满满的节日,情侣都开始互赠礼物啦~女生在七夕那天收到礼物会很惊喜的,鲜花是必备的啦~除了鲜花外肯定还需要一点小礼物,但是怎么样才能送到女朋友心坎上呢?大家可得好好学起来,到底送上门就看 ...

  8. HTML+CSS+JS 实现抖音3D炫酷相册? 创意网页小礼物了解一下呗?(纪念日的小浪漫)

    为心爱的人做一个超具创意的网页生日祝福吧❤(飘动爱心3D相册)HTML+CSS+JavaScript 是不是还没有给心爱的人准备小礼物呀,但是别担心,精心创作了一个"飘动爱心3D相册&quo ...

  9. 收藏喜+1!值得使用的100个Python小技巧

    目前Python可以说是非常流行,在目前的编程语言中,Python的抽象程度是最高的,是最接近自然语言的,很容易上手. 你可以用它来完成很多任务,比如数据科学.机器学习.Web开发.脚本编写.自动化等 ...

最新文章

  1. C# MoreLinq 扩展安装
  2. ​一个文科妹子走上前端开发不归路(干货分享)
  3. weblogic升级之ddconverter
  4. eclipse 更换主题
  5. 1. 根据输出的数据,对各个阶维度的反推+2.tf中生成根据指定的shape,tensor的各个阶的维度判断
  6. python random_Python random() 函数
  7. Tomcat学习总结(17)—— Tomcat生产环境中域名访问和连接MySQL
  8. 【算法笔记】B1015 德才论
  9. Struts2框架中s:if标签和s:set标签小结
  10. 谷歌浏览器jsonView下载及安装
  11. 【vue技术】vue宠物领养管理系统
  12. 微信小程序框架--weui
  13. quartz 定时任务调度框架demo
  14. 数据库实现一个轻量的背单词APP
  15. re.match()到底会返回什么?
  16. 常见排序算法原理及java实现
  17. labview调用DLL
  18. 荣耀linux电脑开机后黑屏,开机黑屏进不了系统,教您解决电脑开机黑屏进不了系统...
  19. android plist动画,用Lottie把启动界面动起来
  20. 四川大学软件学院 2017级系统级编程 复习知识点-很零碎的那种

热门文章

  1. PMI2012:如何打造百万年薪的项目经理--赵弘
  2. windows编程如何更改窗口图标和光标
  3. 嵌入式算法创业的窘境与思考
  4. 企业云协作平台--定位
  5. 一加手机怎么root权限_一加 A3010手机怎样Root,如何获取Root权限?
  6. 基于javaweb+mysql的医药信息管理系统(java+SSM+HTML+easyui+mysql)
  7. H5移动端项目实现手写签名功能 vue实现手写签名
  8. 襄阳文理学院计算机分数线,湖北文理学院理工学院历年录取分数线多少及各省最低投档线统计表...
  9. 上海大学计算机考研资料汇总
  10. 【Unity3D基础2-9】Unity3D烘焙系统的使用