各位亲爱的读者,博主:
大家好,我是涵子。今天我们继续讲下去,如果不清楚上一章的内容,请从链接或者主页回去先读一遍之前的文章,否则今天的内容很难理解。
(2条消息) 【涵子来信&python大全】——第二季——opencv第一篇_渴望学习和编程的涵子的博客-CSDN博客https://blog.csdn.net/B20111003/article/details/128643200?spm=1001.2014.3001.5502还有,如果pip有问题的话,请复制下面两段代码在cmd命令窗口输入!
pip install opencv-python
pip install numpy
好了,废话不多说,咱们开始学习的旅程
目录
一、滑动条
1.1.什么是滑动条?
滑动条想必大家都知道,就是一个条,里面有一个可以滑动的方块,可以根据方块位置改变变量!
1.2.滑动条原理
滑动条的方块位置可以改变变量,但是系统无法知道程序员要怎么改变变量,所以需要函数来让程序知道你要怎么更改。注意不要用一般的lambda函数。
1.3.程序代码
首先我们需要写一个函数,类似于这个:
def change(value):
global x
x = value
记住函数的参数中需要加入value,否则改变不了值,也会报错。
接下来我们需要大改动了!
滑动条有一个特性,就是他不知道要在哪一个窗口中放置,所以就需要一个命名过的,没有显示过的窗口!
用下面的函数可以做到!
cv2.namedWindow(window_name)
接下来就是非常重要的函数了!
cv2.createTrackbar(barName, value, startValue, functionForBarChange)
恭喜你完成了一半!最后就可以加入imshow了!
注意:加入函数的时候不用加括号和参数。
所有代码:
import cv2
cv2.namedWindow('demo')
pic = cv2.imread(r"C:\Users\用户名\Desktop\pic.jpg")
x = 0
def change(value):
global x
x = value
cv2.createTrackbar("change", (0, 100), 0, change)
# 下面的窗口名必须和namedWindow名称一致
cv2.imshow('demo', pic)
cv2.waitKey(0)
二、参考内容
2.1.我的代码报错了,怎么办?
你的程序报错了可能是因为你没有使用namedWindow。或者你的函数名错了,还有可能是你的函数没有加入value这个参数
2.2.参考内容
NumPy 教程 | 菜鸟教程 (runoob.com)https://www.runoob.com/numpy/numpy-tutorial.html
- NumPy 官网 NumPy
- NumPy 源代码:GitHub - numpy/numpy: The fundamental package for scientific computing with Python.
- SciPy 官网:SciPy
- SciPy 源代码:GitHub - scipy/scipy: SciPy library main repository
- Matplotlib 教程:Matplotlib 教程
- Matplotlib 官网:Matplotlib — Visualization with Python
- Matplotlib 源代码:https://github.com/matplotlib/matplotlib
2.3.numpy内容
NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
NumPy 的前身 Numeric 最早是由 Jim Hugunin 与其它协作者共同开发,2005 年,Travis Oliphant 在 Numeric 中结合了另一个同性质的程序库 Numarray 的特色,并加入了其它扩展而开发了 NumPy。NumPy 为开放源代码并且由许多协作者共同维护开发。
NumPy的一种格式:
[0 0 0 0 0] 或者 [[0 0 0] [0 0 0]]
很想列表吗?是的,只是这个存储格式是以空格为间隔符的!可以使用numpy.zeros来创建。
opencv读取图片后就是用这个格式存储的,里面涉及到hsv,bgr通道,这个,更加的难了!设计到图片的过滤和颜色通道,这些内容,我们下一期继续聊!好的,今天的涵子来信就到这里!我们下一期见!
涵子
2023/1/12