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

程序员做彩票网站违法吗网站关键词优化培训

程序员做彩票网站违法吗,网站关键词优化培训,电子商务网站建设配色,做网站都需要学什么文章目录 概要导入库空间过滤器模板展示效果分析与总结 概要 空间滤波器是数字图像处理中的基本工具之一。它通过在图像的每个像素位置上应用一个特定的滤波模板,根据该位置周围的相邻像素值进行加权操作,从而修改该像素的值。这种加权操作能够突出或模…

文章目录

    • 概要
    • 导入库
    • 空间过滤器模板
    • 展示效果
    • 分析与总结

概要

空间滤波器是数字图像处理中的基本工具之一。它通过在图像的每个像素位置上应用一个特定的滤波模板,根据该位置周围的相邻像素值进行加权操作,从而修改该像素的值。这种加权操作能够突出或模糊图像的特定特征,实现多种图像处理任务。

在降噪任务中,空间滤波器可以平均化局部像素值,减少图像中的噪声,使图像看起来更清晰。在边缘检测中,滤波器可以强调图像中的边缘,使其更加显著,便于后续分析。而在图像平滑任务中,空间滤波器则可以平滑图像中的过渡区域,使图像看起来更加连续和自然。

通过在不同的图像处理场景中灵活应用空间滤波器,可以有效改善图像质量,满足各种视觉需求。这些滤波器的设计和选择是图像处理领域的重要课题,能够帮助人们更好地理解和分析图像信息。

导入库

为了进行图像处理,我们通常需要导入一些必要的库

import numpy as np
import matplotlib.pyplot as plt
from fractions import Fraction
from skimage.io import imread, imshow
from scipy.signal import convolve2d
from skimage.color import rgb2gray, gray2rgb

空间过滤器模板

空间滤波器模板是用于修改像素值的核心工具。在以下代码中,我们定义了五种常见的空间滤波器模板,分别是Horizontal Sobel Filter、Vertical Sobel Filter、Edge Detection、Sharpen和Box Blur。

def get_filters():# 定义滤波器模板kernel_hsf = np.array([[1, 2, 1],[0, 0, 0],[-1, -2, -1]])kernel_vsf = np.array([[1, 0, -1],[2, 0, -2],[1, 0, -1]])kernel_edge = np.array([[-1, -1, -1],[-1, 8, -1],[-1, -1, -1]])kernel_sharpen = np.array([[0, -1, 0],[-1, 5, -1],[0, -1, 0]])kernel_bblur = (1 / 9.0) * np.array([[1., 1., 1.],[1., 1., 1.],[1., 1., 1.]])kernels = {'Box Blur': kernel_bblur,'Sharpen': kernel_sharpen,'Horizontal Sobel Filter': kernel_hsf,'Vertical Sobel Filter': kernel_vsf,'Edge Detection': kernel_edge,}return kernels

展示效果

通过以上定义的滤波器模板,我们可以将它们应用于真实图像上,以获得不同的视觉效果。
display_filters('dorm_lobby.png') 换成自己的图片即可

def display_filters(image_path):# 读取图像image = imread(image_path)[:,:,:3]    kernels = get_filters()# 创建包含子图的图像窗口fig, ax = plt.subplots(2, 3, figsize=(20, 15))ax[0, 0].imshow(rgb2gray(image[:,:,:3]), cmap='gray')ax[0, 0].set_title('Original Image', fontsize=20)ax[0, 0].set_xticks([])ax[0, 0].set_yticks([])for i, (name, kernel) in enumerate(kernels.items(), 1):row = i // 3col = i % 3ax[row, col].imshow(kernel, cmap='gray')ax[row, col].set_title(name, fontsize=30)for (j, k), val in np.ndenumerate(kernel):if val < 1:ax[row, col].text(k, j, str(Fraction(val).limit_denominator()), ha='center', va='center', color='red', fontsize=30)else:ax[row, col].text(k, j, str(val), ha='center', va='center', color='red', fontsize=30)plt.tight_layout()plt.show()# 展示滤波器效果
display_filters('dorm_lobby.png')

结果:
在这里插入图片描述
述代码中,通过函数get_filters(),我们定义了五种常见的空间滤波器模板,分别为Horizontal Sobel Filter, Vertical Sobel Filter, Edge Detection, Sharpen以及 Box Blur 。接着我们可以将这些滤波器应用于真实图像。

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, gray2rgb
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 kernelsdef 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]), cmap='gray')ax[0, 0].set_title('Original Image', fontsize=20)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, cmap='gray')ax[row, col].set_title(name, fontsize=30)# 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()),ha='center', va='center',color='red', fontsize=30)else:ax[row, col].text(k, j, str(val),ha='center', va='center',color='red', fontsize=30)# Show the plotplt.tight_layout()plt.show()def apply_selected_kernels(image_path, selected_kernels, plot_cols=3):# Define the kernelskernels = get_filters()# Check if the selected kernels are defined, if not raise an exceptionfor k in selected_kernels:if k not in kernels:raise ValueError(f"Kernel '{k}' not defined.")# Read the imageimage = imread(image_path)[:, :, :3]# Apply selected kernels to each color channel of the imageconv_rgb_images = {}for kernel_name in selected_kernels:kernel = 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 and convolved imagesfig, axs = plt.subplots(len(selected_kernels) + 1, plot_cols, figsize=(15, 10))axs[0, 0].imshow(image)axs[0, 0].set_title('Original Image')axs[0, 0].axis('off')for i, kernel_name in enumerate(selected_kernels, 1):axs[i, 0].imshow(conv_rgb_images[kernel_name])axs[i, 0].set_title(kernel_name)axs[i, 0].axis('off')# Hide remaining empty subplots, if anyfor i in range(len(selected_kernels) + 1, len(axs.flat)):axs.flatten()[i].axis('off')plt.tight_layout()plt.show()# 调用display_filters()函数来获取滤波器矩阵
# display_filters('dorm_lobby.png')# 调用apply_selected_kernels()函数,传入图像路径和希望应用的滤波器名称列表
apply_selected_kernels('dorm_lobby.png',['Edge Detection','Horizontal Sobel Filter','Vertical Sobel Filter'])

结果:
在这里插入图片描述
当然,我们可以通过以下代码查看其他几种模板的对应效果,代码如下:

# Visualize Edge Detection, Sharpen, and Box Blur
apply_selected_kernels('dog.png', ['Edge Detection','Sharpen', 'Box Blur'], plot_cols=2)

分析与总结

在图像处理中,空间滤波器的作用非常强大。不同的滤波器模板可以用于实现各种图像处理任务,例如边缘检测、图像锐化和模糊等。通过深入了解每种滤波器的特点和应用场景,我们可以更好地运用它们,释放创造力,探索图像处理的无限可能性。通过本文的介绍,希望读者对空间滤波器有了更加清晰的认识,能够在实际应用中灵活运用这些知识,创造出更加引人注目的图像效果。

http://www.ritt.cn/news/18176.html

相关文章:

  • 网站升级改造建设方案北京外包seo公司
  • gta5可用手机网站大全免费网站制作app
  • 网站编辑电子商务网站运营专员优化培训课程
  • 网站建设公司怎样南宁百度关键词推广
  • 网页设计培训 周末双休网站seo服务
  • 黄山做网站公司优化推广关键词
  • 东城专业网站建设公司对网络营销的理解
  • 东莞市疾控中心官网长沙百度推广优化排名
  • 网站域名查主机名重庆seo排名优化
  • 网站建设职位要求标题优化怎样选关键词
  • 如何做视频网站技术指标五种网络营销推广方法
  • 网站运营的工作内容站长平台百度
  • 怎么看网站是哪家公司做的最新的疫情情况
  • 周口网站推广疫情最新动态
  • 建设的比较好的档案馆网站b站推广是什么意思
  • 郑州 网站开发网络营销推广软件
  • 深圳企业网站哪家强seo新手快速入门
  • 网站要注册为什么说说seo论坛
  • 网站建设相关标准网站关键词优化方案
  • 在哪个网站可以做试卷网站如何才能被百度收录
  • vps 256 wordpress湖南专业seo优化
  • 昆明网站建设哪家比较好网站广告调词软件
  • wordpress怎么调中文长沙关键词优化费用
  • 中国建设银行员工培训网站阿里云域名注册
  • 做自己点击网站线上渠道推广怎么做
  • 上海专业做网站公司电子制作网站
  • html网页设计用什么软件seo基础理论
  • 中国制造网入驻费用重庆seo小潘大神
  • 国外做机器的好的网站近期新闻大事
  • 哪个网站能买到做披萨的芝士正宗美国疫情最新数据消息