用python调用opencv处理图像的脚本
时间: 2023-12-17 21:04:18 浏览: 133
好的,以下是一个简单的 Python 脚本,使用 OpenCV 库对图像进行处理:
```python
import cv2
# 加载图像
img = cv2.imread("example.png")
# 将图像转换为灰度图像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 对灰度图像进行高斯滤波
blur = cv2.GaussianBlur(gray, (5, 5), 0)
# 检测图像中的边缘
edges = cv2.Canny(blur, 100, 200)
# 显示原始图像和处理后的图像
cv2.imshow("Original Image", img)
cv2.imshow("Edges", edges)
# 等待按键按下
cv2.waitKey(0)
# 关闭所有窗口
cv2.destroyAllWindows()
```
这个程序使用了 OpenCV 库中的一些常见函数,实现了以下处理步骤:
1. 加载图像。
2. 将图像转换为灰度图像。
3. 对灰度图像进行高斯滤波。
4. 检测图像中的边缘。
5. 显示原始图像和处理后的图像。
6. 等待按键按下。
7. 关闭所有窗口。
你可以将 `example.png` 替换为你需要处理的图像的文件名。
相关问题
python调用opencv
引用中提到了python调用OpenCV实现人脸识别功能。OpenCV是一个开源的计算机视觉库,它提供了许多用于图像处理和计算机视觉任务的函数和工具。通过使用Python编程语言,我们可以方便地调用OpenCV库来实现各种功能,包括人脸识别。通过使用OpenCV提供的API和函数,我们可以加载图像或视频数据,并使用预训练的人脸识别模型来检测和识别图像或视频中的人脸。这样,我们就可以利用Python编写的程序来实现人脸识别功能。
如果你想在Python中调用OpenCV库,并实现人脸识别功能,可以参考中提供的详细介绍和代码示例。另外,你还可以按照中提到的控制面板路径,将命令行切换到相应的路径下,这样可以方便地进行Python脚本的执行和调试。<span class="em">1</span><span class="em">2</span>
#### 引用[.reference_title]
- *1* [python调用OpenCV实现人脸识别功能](https://download.csdn.net/download/weixin_38689113/12868671)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* [python调用openCV方法](https://blog.csdn.net/freiheit_zz/article/details/127081104)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
python调用opencv对文件夹当中的图像进行批量化灰度处理后再批量化储存
在Python中使用OpenCV(Open Source Computer Vision Library)批量处理图像并将其转换为灰度图,通常需要遍历指定文件夹下的所有图片,然后逐张进行灰度化处理,并保存到新的文件夹中。这里是一个基本步骤的示例:
首先,你需要安装必要的库,包括`opencv-python`(OpenCV的Python接口)和`numpy`(数值计算库):
```bash
pip install opencv-python numpy
```
接下来,可以编写一个简单的脚本来实现这个过程:
```python
import cv2
import os
# 定义源图像文件夹路径和目标存储路径
source_folder = 'path/to/source/folder'
target_folder = 'path/to/target/folder'
# 创建目标文件夹,如果不存在
if not os.path.exists(target_folder):
os.makedirs(target_folder)
# 遍历源文件夹中的所有图像文件
for filename in os.listdir(source_folder):
# 只处理.jpg或.png这类常见的图像文件
if filename.endswith(('.jpg', '.jpeg', '.png')):
image_path = os.path.join(source_folder, filename)
# 读取图像
img = cv2.imread(image_path)
# 转换为灰度
gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 生成新文件名,保持原文件名不变,添加".gray"后缀
new_filename = filename.replace('.jpg', '_gray.jpg')
new_file_path = os.path.join(target_folder, new_filename)
# 保存灰度图像
cv2.imwrite(new_file_path, gray_img)
```
这段代码会将源文件夹中的每个JPEG或PNG图像转换为灰度,然后保存到目标文件夹中,文件名格式保留原有文件名加上"_gray"后缀。
阅读全文