phthon中使用skimage与matplotlib模块 Laplace 滤波对图像 point.jpg 进行点检测。
时间: 2024-12-12 17:32:38 浏览: 13
在Python中,我们可以利用`skimage`库中的图像处理功能和`matplotlib`库来进行绘图展示。首先,我们需要安装这两个库,如果没有安装可以使用`pip install scikit-image matplotlib`命令安装。
以下是使用`skimage`的Laplacian滤波对`point.jpg`图像进行点检测的基本步骤:
```python
import skimage.io as io
from skimage import filters
import matplotlib.pyplot as plt
# 读取图像
img = io.imread('point.jpg')
# 应用Laplacian滤波
laplacian_img = filters.laplace(img)
# 对滤波后的图像进行二值化,通常阈值可以根据实际图像调整
binary_img = laplacian_img > some_threshold # 替换为适当的阈值
# 寻找边缘,也就是我们所说的点检测
points = binary_img.nonzero()
# 使用matplotlib显示原图和处理后的图像
fig, axs = plt.subplots(2, 1, figsize=(8, 6))
axs[0].imshow(img)
axs[0].set_title('Original Image')
axs[1].imshow(laplacian_img, cmap='gray')
axs[1].contour(binary_img, colors='red', linewidths=1) # 红色轮廓表示边缘位置
axs[1].set_title('Detected Points (Edges)')
for x, y in zip(points[1], points[0]):
axs[1].scatter(x, y, color='blue', marker='x') # 在每个点上添加蓝色十字标记
plt.tight_layout()
plt.show()
阅读全文