【涵子来信python大全】——第二季——opencv第一篇
各位亲爱的读者,博主:
首先恭喜大家,涵子来信已经到达第二季——2023年篇。今天,我们要步入机器学习的初级内容:python opencv图片!
目录
一、提前准备
二、程序代码学习
2.1.如何读取图片
2.2.显示图片
三、资料与问题参考
3.1.错误参考
3.1.1.我发现代码报错,代码检查过,没有问题,这是怎么回事?
3.1.2我图片明明有,但是显示不出来,怎么回事
3.2.资料参考
一、提前准备
首先opencv这个库并不是自带的,所以我们要pip一下。内容如下
pip install opencv-python
注意不要写成opencv哦!它还会自己安装另一个依赖库,numpy,如果运行后面的程序时报错说没有numpy这个库,试着用这段代码pip:
pip install numpy
如果版本太低,请升级python和pip,建议使用python3.9,python3.10或者3.11可能不兼容。
二、程序代码学习
2.1.如何读取图片
首先,我们得要知道为什么要装numpy,不是只需要opencv吗?这个嘛,下一章再讲...
想要处理图片,就得先要读取图片,这是人人皆知的事情。程序的第一步,是导入库:
import cv2
⚠注意:import时就不是opencv-python或者opencv了,要用cv2了!
英语课代表们,image认识吧!image缩写就是img,再缩一点就是im,加个read,哎,这就是opencv读取图片的函数名称了!
cv2.imread(pic_path)
加入了路径后是这样的:
cv2.imread("C:\Users\用户名\Desktop\pic.png")
在用的时候就要自己注意,改成正确的路径。
恭喜你成功读取了你的图片。
Tips:可以让这个图片作为一个变量重复使用!
pic = cv2.imread("C:\Users\用户名\Desktop\pic.png")
2.2.显示图片
光读取不行,还得显示哪。所以我们要用一个函数,imshow!
cv2.imshow(window_name, pic)
cv2.imshow('demo', pic)
效果如下:
为了防止自动退出(pycharm可能会发生),所以可以在代码后面加入:
cv2.waitKey(0)
整个代码如下:
import cv2
img = cv2.imread(r'C:\Users\用户名\Desktop\pic.jpg')
cv2.imshow('demo', img)
cv2.waitKey(0)
恭喜你走出了第一步!
三、资料与问题参考
3.1.错误参考
3.1.1.我发现代码报错,代码检查过,没有问题,这是怎么回事?
这个错误可能是这个:(只需要看cv2.error的这一行)
Traceback (most recent call last):File "C:\Users\用户名\Desktop\test.py", line 3, in <module>cv2.imshow('demo', img)
cv2.error: OpenCV(4.7.0) D:\a\opencv-python\opencv-python\opencv\modules\highgui\src\window.cpp:971: error: (-215:Assertion failed) size.width>0 && size.height>0 in function 'cv::imshow'
这就很奇怪了是不?这是因为你的路径中有中文,这就是opencv的致命弱点,路径不能有中文!
3.1.2我图片明明有,但是显示不出来,怎么回事
这就比较少见,可能是因为你的图片格式比较冷门,或者是错误的,所以无法显示。
3.2.资料参考
关于numpy的内容,可以抢先去菜鸟编程里抢先阅读!
NumPy 教程 | 菜鸟教程 (runoob.com)https://www.runoob.com/numpy/numpy-tutorial.html如果你有更多奇怪的问题,请留言在评论区。最后希望大家多多关注,点赞,收藏,我们下一期再见!
涵子
2023/1/11
【涵子来信python大全】——第二季——opencv第一篇相关推荐
- 【涵子来信python大全】——第二季——opencv第三篇-numpy和颜色通道解释
各位亲爱的读者,博主: 大家好,我是涵子.今天我们继续讲讲opencv,讲讲其中numpy的秘密.如果不清楚上一章的内容,请从链接或者主页回去先读一遍之前的文章,否则今天的内容很难理解. [涵子来信& ...
- 【涵子来信python大全】——第二季——opencv第二篇
各位亲爱的读者,博主: 大家好,我是涵子.今天我们继续讲下去,如果不清楚上一章的内容,请从链接或者主页回去先读一遍之前的文章,否则今天的内容很难理解. (2条消息) [涵子来信&python大 ...
- 【涵子来信python大全】——第二季——opencv第四篇-用手势控制屏幕鼠标
各位亲爱的读者,博主: 大家好,我是涵子.今天我们需要使用cv2,mediapipe和pyautogui用手势控制屏幕鼠标. 目录 一.准备 二.代码 可以先去看看之前的文章哦. 一.准备 首先pip ...
- Unity2D 商业游戏案例 - 梦幻西游(第二季 框架设计篇)
00 网址 来源 siki学院的(1年有限期到期前下载的项目,现在已经过期,所以自己理清项目) 所以更多的不是学习这个项目,而是学习理清该类型的项目的思路 Unity2D 商业游戏案例 - 梦幻西游( ...
- Android自动化测试第二季(提高篇)-金阳光-专题视频课程
Android自动化测试第二季(提高篇)-17804人已学习 课程介绍 [金阳光测试]是由金阳光等创办的国内个人免费培训测试.欢迎喜欢测试的朋友来观看学习,提意见. 课程收益 ...
- 【涵子来信Linux百宝书】——Linux实体机简约安装教程
各位读者,博主: 大家好,我是涵子.今天,我要为大家带来的是Linux实体机安装教程. 注意:本次教程经过博主亲自实验,安装,请放心,如果实测有问题,可以询问官方或者作者.如有不懂,请在评论区提问! ...
- python进阶-第二季第一章
第八章:文件操作(IO)技术 116.写入文件,文件底层关系 一:简介 1.一个完整的程序一般都包括存储和读取,如果没有执行实际的存储python执行完操作数据就消失了.实际开发中我们经常需要从外部存 ...
- python 数据库编程,这篇是针对 mysql 的,滚雪球学Python第4季第13篇
在第一季滚雪球学 python 中,我们已经接触了 python 操作 sqlite,本篇博客为你介绍 python 与 mysql 和 nosql 之间的故事. 在正式学习之前,先确保你电脑上已经安 ...
- python按行求和_Python第一篇:对3个Excel文件进行整合
继6月24日发了一篇Python的安装之后,憋了一个月,终于准备发一篇实用的Python应用于Excel的例文. 这篇例文,是将三个工资文件合并为一个,并进行按人及按月的合计. 先来看看三个工资文件的 ...
最新文章
- java语言的实现机制_JAVA语言之Java NIO的工作机制和实现原理介绍
- 科大星云诗社动态20210502
- mybatis获取mysql源数据类型_spring集成mybatis实现mysql数据库读写分离
- this super java_java中 this 和super的用法
- MySQL数据库常见的几个问题
- leetcode38. 外观数列
- IndentationError: unindent does not match any outer indentation level-报错问题
- c语言创建树,递归创建二叉树c语言实现+详细解释
- vue devtools 插件安装
- 批量导数据之利器-load data[2016-07-11]
- TCGA三个在线可视化网站
- 谁动过你的电脑?小姐姐们要学会保护好自己电脑里的小秘密呀
- Timus 1741
- linux命令network,Linux network config
- Atitit 企业战略目标的艺术 目录 1. 企业战略目标	1 2. 特点 ▪ 宏观性 ▪ 长期性 ▪ 全面性 稳定性	1 3. 内容	2 3.1. 彼得·德鲁克在《管理实践》一书中提出了八个
- Chloe.Orm多表连接查询 (二)
- meebo FireFox add-on
- 从Ajax聊一聊Jsonp hijacking
- 什么是抽象类?(简述)
- 记一次任意用户密码重置漏洞(session覆盖)