python--常用函数总结

本文详细介绍了Python编程中常用的函数如abs、max、min、divmod、pow等,以及类型转换函数如int、float、complex等。同时,还涵盖了字符串处理函数、序列操作函数以及一些基础的数学运算函数。

1.计算函数

abs()--取绝对值


max()--取序列最大值,包括列表、元组


min()--取序列最小值

len()--取长度

divmod(a,b)---取a//b除数整数以及余数,成为一个元组


pow(x,y)--取x的Y次幂

pow(x,y,z)先x的Y次幂,再对Z取余


round()--修改精度,如果没有,默认取0位


range()快速生成一个列表

2.其他函数

callable()--返回是否可调用返回true或false


isinstance(a,type)---判断前面的是否是后面的这种类型,返回true或false


cmp(a,b)---判断ab是否相等,相等返回0,A<B返回-1,A>B返回1


range()--快速生成一个列表,类型为list

xrange()---快速生成一个列表,类型为xrange

3.类型转换函数

type()

int()

long()

float()

complex()--转换成负数

hex()--转换成十六进制

oct()--转换成八进制

chr()--参数0-252,返回当前的ASCII码

ord()--参数ASCII码,返回对应的十进制整数

4.string函数

str.capitalize()--对字符串首字母大写


str.replace(a.b)---对字符串a改为b


str.split()---对字符串进行分割,第一个参数是分隔符,后面参数是分割几次。


string函数导入使用


5.序列函数

filter()--筛选返回为true返回成序列


lambda--定义函数


zip()---对多个列表进行压缩组合成一个新列表,但是如果多个列表的元素个数不同,组合的结果按最少元素的进行组合


map--对多个列表进行压缩组合成一个新列表,但是如果多个列表的元素个数不同,结果是将所有的元素取出来,缺少的以None代替。如果是None,直接组合,如果是函数,可以按函数进行组合



reduce()--对每个元素先前两个执行函数,然后结果和后一个元素进行函数操作,如阶乘,阶加


<think>首先,用户要求我总结Python OpenCV图像处理的常用函数。参考了提供的引用,这些引用包含了OpenCV的基本操作,如读取图像、显示图像、修改像素、颜色空间转换、图像缩放等。 关键点: - 回答必须使用中文。 - 结构清晰,帮助用户逐步解决问题。 - 确保回答真实可靠,基于提供的引用。 - 行内数学表达式用$...$,独立公式用$$...$$。 - 在回答末尾添加相关问题。 - 引用标识自然地添加到引用的段落末尾。 提供的引用: - [^1]: 涉及图像读取、像素操作、显示图像、写入图像。 - [^2]: 涉及读取图像、创建窗口、显示图像。 - [^3]: 涉及颜色空间转换函数(如cv2.cvtColor),以及cv2.rectangle。 - [^4]: 涉及图像缩放(cv2.resize)。 我需要总结常用函数,包括但不限于: - 读取图像:cv2.imread - 显示图像:cv2.imshow, cv2.waitKey, cv2.destroyAllWindows - 像素操作:访问和修改像素值 - 颜色空间转换:cv2.cvtColor - 图像缩放:cv2.resize - 其他常见函数,如cv2.rectangle(用于绘制矩形) 结构: 1. **介绍**:简要介绍OpenCV和其在图像处理中的作用。 2. **常用函数总结**:列出并解释核心函数,使用代码示例。 3. **代码示例**:从引用中提取或修改代码,确保语法正确。 4. **总结**:简要回顾。 5. **相关问题**:生成3-5个相关问题。 确保语言自然流畅,使用中文。 大纲: - 开头:介绍OpenCV库和图像处理。 - 函数列表: 1. 读取图像:cv2.imread 2. 显示图像:cv2.imshow, cv2.waitKey, cv2.destroyAllWindows 3. 像素操作:访问和修改像素 4. 颜色空间转换:cv2.cvtColor 5. 图像缩放:cv2.resize 6. 其他:如cv2.rectangle(绘制矩形) - 每个函数给出简短描述和代码片段。 - 结尾:总结重要性。 - 相关问题:例如,如何优化图像处理性能?常见应用场景?等。 在代码中,使用行内数学表达式时,确保正确格式,但图像处理中可能没有数学表达式,所以可能不需要。如果有,如坐标,就用$...$。 引用标识:在提到引用内容时添加[^n],但用户提供了引用,所以我应该在总结中自然地引用它们。例如,当描述函数时,提到参考了[^1]等。 最终输出: - 回答主体。 - §§相关问题§§部分。</think>### Python OpenCV 图像处理常用函数总结 OpenCV(Open Source Computer Vision Library)是一个强大的开源计算机视觉库,广泛应用于图像处理、视频分析和机器学习等领域。在Python中,通过`cv2`模块可以轻松实现各种图像操作。下面我将基于核心功能,总结Python OpenCV中常用函数,包括图像读取、显示、像素操作、颜色转换、缩放和绘制等。所有代码示例均参考了可靠的文档和实践经验,确保真实可靠[^1][^2][^3][^4]。 #### 1. **图像读取与显示** - **cv2.imread()**: 用于读取图像文件,支持多种格式如JPG、PNG、BMP等。参数指定图像路径和读取模式(如`cv2.IMREAD_COLOR`读取彩色图像)。 ```python import cv2 img = cv2.imread("E:/pythonProject/mei.jpeg", cv2.IMREAD_COLOR) # 读取图像[^1] ``` - **cv2.imshow()**: 显示图像。需结合`cv2.waitKey()`和`cv2.destroyAllWindows()`控制窗口。 ```python cv2.imshow("Image Window", img) # 显示图像 cv2.waitKey(0) # 等待用户按键 cv2.destroyAllWindows() # 关闭所有窗口[^2] ``` - **cv2.imwrite()**: 保存图像到文件。 ```python cv2.imwrite("E:/pythonProject/output.jpeg", img) # 保存图像[^1] ``` #### 2. **像素操作** 图像像素以数组形式存储,可直接访问或修改BGR值(Blue、Green、Red通道)。 - **访问像素**:通过坐标获取像素值。 ```python pixel = img[88, 148] # 获取(88,148)位置的像素值 blue = img[88, 148, 0] # 获取蓝色通道值 green = img[88, 148, 1] # 获取绿色通道值 red = img[88, 148, 2] # 获取红色通道值[^1] ``` - **修改像素**:直接赋值更改像素颜色。 ```python img[88, 148] = [255, 255, 255] # 修改为白色[^1] ``` #### 3. **颜色空间转换** - **cv2.cvtColor()**: 转换图像颜色空间,如BGR转灰度或HSV。参数`code`指定转换类型。 ```python gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 转换为灰度图像 hsv_img = cv2.cvtColor(img, cv2.COLOR_BGR2HSV) # 转换为HSV空间[^3] ``` 常见转换类型: - `cv2.COLOR_BGR2GRAY`: BGR转灰度 - `cv2.COLOR_BGR2RGB`: BGR转RGB(常用于Matplotlib显示) - `cv2.COLOR_BGR2HSV`: BGR转HSV(用于颜色检测) #### 4. **图像缩放** - **cv2.resize()**: 调整图像尺寸。可指定目标大小或缩放比例。 ```python resized_img = cv2.resize(img, (100, 100)) # 缩放为100x100像素 scaled_img = cv2.resize(img, None, fx=0.5, fy=0.7) # x轴缩小50%,y轴缩小70%[^4] ``` #### 5. **图像绘制** - **cv2.rectangle()**: 在图像上绘制矩形。参数包括起点、终点、颜色和线宽。 ```python cv2.rectangle(img, (50, 50), (200, 200), (0, 255, 0), 2) # 绘制绿色矩形,线宽2像素[^3] ``` - **其他绘制函数**: - `cv2.circle()`: 绘制圆形 - `cv2.line()`: 绘制直线 - `cv2.putText()`: 添加文本 #### 6. **其他常用函数** - **图像模糊**:`cv2.GaussianBlur()`用于高斯模糊,减少噪声。 ```python blurred_img = cv2.GaussianBlur(img, (5, 5), 0) # 5x5核大小 ``` - **边缘检测**:`cv2.Canny()`实现Canny边缘检测。 ```python edges = cv2.Canny(img, 100, 200) # 阈值100和200 ``` - **图像阈值处理**:`cv2.threshold()`用于二值化图像。 ```python ret, binary_img = cv2.threshold(gray_img, 127, 255, cv2.THRESH_BINARY) ``` #### 总结 OpenCV提供了丰富的函数来处理图像,从基础操作(如读取和显示)到高级处理(如颜色转换和边缘检测)。这些函数是计算机视觉任务的基础,能高效实现图像分析和增强。实际应用中,建议结合具体场景选择合适函数,并注意性能优化,例如使用NumPy数组加速像素操作[^1][^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值