各位亲爱的读者,博主:

首先恭喜大家,涵子来信已经到达第二季——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第一篇相关推荐

  1. 【涵子来信python大全】——第二季——opencv第三篇-numpy和颜色通道解释

    各位亲爱的读者,博主: 大家好,我是涵子.今天我们继续讲讲opencv,讲讲其中numpy的秘密.如果不清楚上一章的内容,请从链接或者主页回去先读一遍之前的文章,否则今天的内容很难理解. [涵子来信& ...

  2. 【涵子来信python大全】——第二季——opencv第二篇

    各位亲爱的读者,博主: 大家好,我是涵子.今天我们继续讲下去,如果不清楚上一章的内容,请从链接或者主页回去先读一遍之前的文章,否则今天的内容很难理解. (2条消息) [涵子来信&python大 ...

  3. 【涵子来信python大全】——第二季——opencv第四篇-用手势控制屏幕鼠标

    各位亲爱的读者,博主: 大家好,我是涵子.今天我们需要使用cv2,mediapipe和pyautogui用手势控制屏幕鼠标. 目录 一.准备 二.代码 可以先去看看之前的文章哦. 一.准备 首先pip ...

  4. Unity2D 商业游戏案例 - 梦幻西游(第二季 框架设计篇)

    00 网址 来源 siki学院的(1年有限期到期前下载的项目,现在已经过期,所以自己理清项目) 所以更多的不是学习这个项目,而是学习理清该类型的项目的思路 Unity2D 商业游戏案例 - 梦幻西游( ...

  5. Android自动化测试第二季(提高篇)-金阳光-专题视频课程

    Android自动化测试第二季(提高篇)-17804人已学习 课程介绍         [金阳光测试]是由金阳光等创办的国内个人免费培训测试.欢迎喜欢测试的朋友来观看学习,提意见. 课程收益      ...

  6. 【涵子来信Linux百宝书】——Linux实体机简约安装教程

    各位读者,博主: 大家好,我是涵子.今天,我要为大家带来的是Linux实体机安装教程. 注意:本次教程经过博主亲自实验,安装,请放心,如果实测有问题,可以询问官方或者作者.如有不懂,请在评论区提问! ...

  7. python进阶-第二季第一章

    第八章:文件操作(IO)技术 116.写入文件,文件底层关系 一:简介 1.一个完整的程序一般都包括存储和读取,如果没有执行实际的存储python执行完操作数据就消失了.实际开发中我们经常需要从外部存 ...

  8. python 数据库编程,这篇是针对 mysql 的,滚雪球学Python第4季第13篇

    在第一季滚雪球学 python 中,我们已经接触了 python 操作 sqlite,本篇博客为你介绍 python 与 mysql 和 nosql 之间的故事. 在正式学习之前,先确保你电脑上已经安 ...

  9. python按行求和_Python第一篇:对3个Excel文件进行整合

    继6月24日发了一篇Python的安装之后,憋了一个月,终于准备发一篇实用的Python应用于Excel的例文. 这篇例文,是将三个工资文件合并为一个,并进行按人及按月的合计. 先来看看三个工资文件的 ...

最新文章

  1. java语言的实现机制_JAVA语言之Java NIO的工作机制和实现原理介绍
  2. 科大星云诗社动态20210502
  3. mybatis获取mysql源数据类型_spring集成mybatis实现mysql数据库读写分离
  4. this super java_java中 this 和super的用法
  5. MySQL数据库常见的几个问题
  6. leetcode38. 外观数列
  7. IndentationError: unindent does not match any outer indentation level-报错问题
  8. c语言创建树,递归创建二叉树c语言实现+详细解释
  9. vue devtools 插件安装
  10. 批量导数据之利器-load data[2016-07-11]
  11. TCGA三个在线可视化网站
  12. 谁动过你的电脑?小姐姐们要学会保护好自己电脑里的小秘密呀
  13. Timus 1741
  14. linux命令network,Linux network config
  15. Atitit 企业战略目标的艺术 目录 1. 企业战略目标 1 2.  特点 ▪ 宏观性 ▪ 长期性 ▪ 全面性 稳定性 1 3. 内容 2 3.1. 彼得·德鲁克在《管理实践》一书中提出了八个
  16. Chloe.Orm多表连接查询 (二)
  17. meebo FireFox add-on
  18. 从Ajax聊一聊Jsonp hijacking
  19. 什么是抽象类?(简述)
  20. 记一次任意用户密码重置漏洞(session覆盖)

热门文章

  1. jsp中插入图片无法显示
  2. 【HEC-RAS】基础入门介绍教程-初步原理01
  3. dry的原理_。但速干衣物呢,只是因为加工手艺的差距,MONI-DRY属于吸湿速干面料,速梢挛锏淖...
  4. 做什么技术工资最高?
  5. 每天一点数据库之-----Day 3 数据的增改删
  6. 求六个成等差数列且小于500的素数
  7. js获取当前的操作系统
  8. Knox 代理各类组件
  9. 多媒体计算机常用的图像有哪些,在多媒体计算机中常见的图像输入设备是?
  10. 夜神模拟器android 7.1.2 x86_64安装xposed框架