SciPy - ascent() 方法
SciPy ascent() 方法用于获取 8 位灰度衍生图像(512*512),用于演示。此方法允许用户试验图像处理技术并应用多个过滤器和变换。
语法
以下是 SciPy ascent() 方法的语法 −
ascent()
参数
此方法不接受任何参数。
返回值
此方法返回一个显示灰度图像的 2D numpy 数组。
示例 1
以下是显示预先存在的上升图像的 SciPy ascent() 方法。
import matplotlib.pyplot as plt from scipy.misc import ascent # 加载上升图像 image = ascent() # 使用 matplotlib 显示图像 plt.imshow(image, cmap='gray') plt.title('Ascent Image') plt.axis('off') plt.show()
输出
上述代码产生以下输出 −

示例 2
以下示例区分了原始上升图像和高斯滤波图像。
import matplotlib.pyplot as plt from scipy.ndimage import gaussian_filter from scipy.misc import ascent # 加载上升图像 image = ascent() # 对图像应用高斯滤波器 filtered_image = gaussian_filter(image, sigma=3) # 显示原始图像和滤波后的图像 fig, axes = plt.subplots(1, 2, figsize=(12, 6)) axes[0].imshow(image, cmap='gray') axes[0].set_title('Original Image') axes[0].axis('off') axes[1].imshow(filtered_image, cmap='gray') axes[1].set_title('Gaussian Filtered Image') axes[1].axis('off') plt.show()
输出
上述代码产生以下输出 −

示例 3
此方法说明如何使用 sobel 滤波器对原始上升图像执行边缘检测。此过滤器分别应用于 x 轴和 y 轴,结果为边缘检测图像和原始图像。
import matplotlib.pyplot as plt from scipy.ndimage import sobel from scipy.misc import ascent # 加载上升图像 image = ascent() # 应用 Sobel 过滤器检测边缘 sobel_x = sobel(image, axis=0) sobel_y = sobel(image, axis=1) edges = sobel_x + sobel_y # 显示原始图像和边缘检测图像 fig, axis = plt.subplots(1, 2, figsize=(12, 6)) axes[0].imshow(image, cmap='gray') axes[0].set_title('Original Image') axes[0].axis('off') axes[1].imshow(edges, cmap='gray') axes[1].set_title('Edge Detection using Sobel Filter') axes[1].axis('off') plt.show()
输出
上述代码产生以下输出 −
