使用python实现对骨架化后的图像的像素点进行平滑处理 输入图片方式可以批量输入和批量保存
时间: 2024-05-05 13:16:52 浏览: 19
以下是使用Python实现对骨架化后的图像的像素点进行平滑处理的代码:
```python
import cv2
import numpy as np
import os
# 定义平滑半径
radius = 1
# 定义输入和输出文件夹路径
input_folder = "input_folder"
output_folder = "output_folder"
# 创建输出文件夹
if not os.path.exists(output_folder):
os.mkdir(output_folder)
# 循环处理每个输入文件
for filename in os.listdir(input_folder):
# 读取输入图像
input_path = os.path.join(input_folder, filename)
img = cv2.imread(input_path, cv2.IMREAD_GRAYSCALE)
# 定义平滑核
kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (2 * radius + 1, 2 * radius + 1))
# 对每个像素进行平滑处理
smoothed_img = np.zeros_like(img)
for i in range(radius, img.shape[0] - radius):
for j in range(radius, img.shape[1] - radius):
patch = img[i - radius:i + radius + 1, j - radius:j + radius + 1]
smoothed_img[i, j] = np.sum(patch * kernel) / np.sum(kernel)
# 保存输出图像
output_path = os.path.join(output_folder, filename)
cv2.imwrite(output_path, smoothed_img)
```
首先定义了平滑半径和输入输出文件夹路径。然后循环处理每个输入文件,读取输入图像并定义平滑核。接着对每个像素进行平滑处理,最后保存输出图像。可以通过修改输入输出文件夹路径和平滑半径来批量处理不同的图像。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)