当前位置: 首页 > news >正文

金融网站开发文档百度指数排名明星

金融网站开发文档,百度指数排名明星,菏泽网站建设公司排名,淘宝代运营去哪里找1. 引言 再次问好#xff0c;图像处理爱好者们#xff01;#x1f31f; 在前面的章节中#xff0c;我们学习了图像处理的基础知识#xff0c;并展现了图像增强的魅力。在这一节中#xff0c;我们将更深入地研究空间滤波技术。 闲话少说#xff0c;我们直接开始吧#…1. 引言 再次问好图像处理爱好者们 在前面的章节中我们学习了图像处理的基础知识并展现了图像增强的魅力。在这一节中我们将更深入地研究空间滤波技术。 闲话少说我们直接开始吧 2. 基本概念 在图像处理方面空间滤波器是我们所需要的基本工具。 这些滤波器具有根据局部相邻像素值修改其像素值的能力使我们能够执行各种图像处理任务例如降噪、边缘检测和图像平滑。 首先按照惯例让我们导入必要的库作为基础 import numpy as np import matplotlib.pyplot as plt from fractions import Fraction from skimage.io import imread, imshow# For Spatial Filters from scipy.signal import convolve2d from skimage.color import rgb2gray, gray2rgb3. 空间过滤器模板 接下来我们将对图像应用各种简单的空间过滤器。这些过滤器的模板通常会用周围像素的平均值来改变当前像素值从而达到图像增强和其他令人兴奋的功能。 接着通过以下代码定义我们的过滤器模板 def get_filters():# Define Filters# Horizontal Sobel Filterkernel_hsf np.array([[1, 2, 1],[0, 0, 0],[-1, -2, -1]])# Vertical Sobel Filterkernel_vsf np.array([[1, 0, -1],[2, 0, -2],[1, 0, -1]])# Edge Detectionkernel_edge np.array([[-1, -1, -1],[-1, 8, -1],[-1, -1, -1]])# Sharpenkernel_sharpen np.array([[0, -1, 0],[-1, 5, -1],[0, -1, 0]])# Box Blurkernel_bblur (1 / 9.0) * np.array([[1., 1., 1.],[1., 1., 1.],[1., 1., 1.]])# Define the kernelskernels {Box Blur: kernel_bblur,Sharpen: kernel_sharpen,Horizontal Sobel Filter: kernel_hsf,Vertical Sobel Filter: kernel_vsf,Edge Detection: kernel_edge,}return kernels接着让我们展示上述模板的可视化效果 def display_filters(image_path):# Read the imageimage imread(image_path)[:,:,:3] kernels get_filters()# Create a figure with subplots for each kernelfig, ax plt.subplots(2, 3, figsize(20, 15))ax[0, 0].imshow(rgb2gray(image[:,:,:3]), cmapgray)ax[0, 0].set_title(Original Image, fontsize20)ax[0, 0].set_xticks([])ax[0, 0].set_yticks([])# Loop over the keys and values in the kernels dictionaryfor i, (name, kernel) in enumerate(kernels.items(), 1):# Determine the subplot indexrow i // 3col i % 3# Plot the kernel on the appropriate subplotax[row, col].imshow(kernel, cmapgray)ax[row, col].set_title(name, fontsize30)# Loop over the cells in the kernelfor (j, k), val in np.ndenumerate(kernel):if val 1:ax[row, col].text(k, j, str(Fraction(val).limit_denominator()), hacenter, vacenter, colorred,fontsize30)else:ax[row, col].text(k, j, str(val), hacenter, vacenter, colorred,fontsize30)# Show the plotplt.tight_layout()plt.show()# Display filters display_filters(dorm_lobby.png) 得到结果如下 4. 展示效果 上述代码中通过函数get_filters()我们定义了五种常见的空间滤波器模板分别为Horizontal Sobel Filter, Vertical Sobel Filter, Edge Detection, Sharpen以及 Box Blur 。紧着我们可以将这些滤波器应用于真实图像。此时我们可以使用 apply_selected_kernels() 函数来达到不同的可视化效果 ️✨ def apply_selected_kernels(image_path, selected_kernels, plot_cols3):# Define the kernelsall_kernels get_filters()# Check if the selected kernels are defined, if not raise an exceptionfor k in selected_kernels:if k not in all_kernels:raise ValueError(fKernel {k} not defined.)# Read the imageimage imread(image_path)[:,:,:3]# Apply selected kernels to each color channel of the image conv_rgb_images {}for kernel_name in selected_kernels:kernel all_kernels[kernel_name]transformed_channels []for i in range(3):conv_image convolve2d(image[:, :, i], kernel, valid)transformed_channels.append(abs(conv_image))conv_rgb_image np.dstack(transformed_channels)conv_rgb_image np.clip(conv_rgb_image, 0, 255).astype(np.uint8)conv_rgb_images[kernel_name] conv_rgb_image# Display the original image along with the combined results of all # the kernels in a subplotfig, ax plt.subplots(2, plot_cols, figsize(20, 20))ax[0, 0].imshow(image)ax[0, 0].set_title(Original Image, fontsize20)ax[0, 0].set_xticks([])ax[0, 0].set_yticks([])for i, (kernel_name, conv_rgb_image) in enumerate(conv_rgb_images.items(), 1):row, col divmod(i, plot_cols)ax[row, col].imshow(conv_rgb_image)ax[row, col].set_title(kernel_name, fontsize20)ax[row, col].set_xticks([])ax[row, col].set_yticks([])plt.tight_layout()plt.show()可以通过传入不同的参数selected_kernels得到不同的效果样例调用代码如下 # Visualize Edge Detection and Sobel Filters apply_selected_kernels(dorm_lobby.png, [Edge Detection,Horizontal Sobel Filter, Vertical Sobel Filter], plot_cols2)得到结果如下 当然我们可以通过以下代码查看其他几种模板的对应效果代码如下 # Visualize Edge Detection, Sharpen, and Box Blur apply_selected_kernels(dog.png, [Edge Detection,Sharpen, Box Blur], plot_cols2)结果如下 5. 分析 接着让我们更加深入的分析上述五种模板的特点和作用归纳如下 Edge Detection (kernel_edge) 这是一种通用的边缘检测滤波器有时称为拉普拉斯滤波器或高斯拉普拉斯滤波器。该术语通常是指一系列用于识别数字图像中图像亮度急剧变化或不连续的点的方法。它对所有方向的边缘做出同等响应。它与 Sobel 滤镜之间的区别在于它不区分边缘方向。 Sobel filter Sobel 滤波器通常也用于边缘检测但它专门用于检测特定方向的边缘。Sobel 算子使用两个 3x3的卷积核通过计算导数的近似值来检测不同方向的边缘——一个用于水平方向的边缘检测另一个用于垂直方向的边缘检测。 Horizontal Sobel Filter (kernel_hsf) 这旨在最大程度地响应垂直方向边缘的检测最小地响应水平方向的边缘。这就是为什么生成的图像突出显示了水平边缘线。 Vertical Sobel Filter (kernel_vsf) 这是Sobel 滤波器响应的另一个方向。它旨在最大程度地响应水平方向的边缘最小地响应垂直方向的边缘。这就是为什么生成的图像突出显示了垂直边缘线。 Sharpen (kernel_sharpen) 此滤波器用于增强图像的“清晰度”。它通过增强彼此相邻的像素的对比度来工作从而使边缘看起来更加清晰。 Box Blur (kernel_bblur) 此滤波器用于图像模糊。它的工作原理是平均每个像素周围邻域的像素值从而降低边缘的清晰度并混合附近像素的颜色。 6. 总结 瞧这些滤波器为我们提供了图像转换的巨大魅力可以突出隐藏的细节并增强其视觉冲击力。通过了解每种滤波器的特性和应用可以释放我们的创造力探索图像处理的无限可能性。 这不是很酷吗
http://wiki.neutronadmin.com/news/295575/

相关文章:

  • 微信小程序网站建设方案十大网站app软件下载
  • 有关建筑网站建设方案案例简述什么是响应式布局
  • 网站设计常用软件企业网站如何设计
  • 绿色风格网站可以看任何网站的浏览器下载
  • 为什么登录不上建设银行网站在百度里面做网站要多少钱
  • 淄博网站建设服务商wordpress游戏小程序
  • 山西推广公司seo收费
  • 站酷网页版专业餐饮vi设计公司
  • 专业网站优化制作公司网站正能量晚上免费网址不用下载
  • 外贸上哪个网站开发客户wordpress调用百度地图吗
  • 教学网站模板一个专门做酒店招聘的网站
  • 刷神马网站优化排名电子商务网址大全
  • 专业企业建站系统商丘电子商务网站建设
  • 做网站的你选题的缘由是什么长春网络公司
  • 网站制作公司哪家好一点老域名对做网站的
  • 城乡和住房建设部网站施工企业质量管理制度
  • 个人做的小网站需要备案外贸论坛福步
  • wordpress开发中介网站商品房建设信息网站
  • 中型网站开发语言云南模板网站建设公司
  • 网站建设最便宜在线小游戏
  • 做淘宝要用到哪些网站昆明网站制作策划
  • 昌平网站制作app开发费用标准
  • 网站建设 保定施工企业信用评价
  • 南昌门户网站建设h5 网站模板
  • 佛山营销型网站设计国外服务器网站打开慢
  • 做一个网站的价钱百度热门
  • 淮安建设企业网站国外h5网站模板下载
  • 网站建设方案书是啥比较好的网站建设品牌升级
  • 晟合建设集团网站aspnet网站开发书
  • 天津市建设交易中心网站婚纱设计网站首页