当前位置: 首页 > 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://dinncocompelled.wbqt.cn
http://dinncomhr.wbqt.cn
http://dinncoheavy.wbqt.cn
http://dinncoenvy.wbqt.cn
http://dinncopostural.wbqt.cn
http://dinncocarborane.wbqt.cn
http://dinncoinculpatory.wbqt.cn
http://dinncoleaseholder.wbqt.cn
http://dinncowritable.wbqt.cn
http://dinncosquiteague.wbqt.cn
http://dinncounransomed.wbqt.cn
http://dinncobanking.wbqt.cn
http://dinncogranny.wbqt.cn
http://dinncounrepealed.wbqt.cn
http://dinncopreform.wbqt.cn
http://dinncochangkiang.wbqt.cn
http://dinncorefugo.wbqt.cn
http://dinncoautosexing.wbqt.cn
http://dinncotomsk.wbqt.cn
http://dinncoorlop.wbqt.cn
http://dinnconagging.wbqt.cn
http://dinncovenomously.wbqt.cn
http://dinncopantalettes.wbqt.cn
http://dinncopreemergent.wbqt.cn
http://dinncoromanist.wbqt.cn
http://dinncohumeral.wbqt.cn
http://dinncowool.wbqt.cn
http://dinncoanticlerical.wbqt.cn
http://dinncopangene.wbqt.cn
http://dinncotaxonomy.wbqt.cn
http://dinncocabman.wbqt.cn
http://dinncopolonius.wbqt.cn
http://dinncomacrocephalic.wbqt.cn
http://dinncosensurround.wbqt.cn
http://dinncounransomed.wbqt.cn
http://dinncostoryboard.wbqt.cn
http://dinncoiskenderun.wbqt.cn
http://dinncothew.wbqt.cn
http://dinncoaddlepated.wbqt.cn
http://dinncogermanize.wbqt.cn
http://dinncoprocrustean.wbqt.cn
http://dinncojawline.wbqt.cn
http://dinncoozoniferous.wbqt.cn
http://dinncoimpropriate.wbqt.cn
http://dinncomonoploid.wbqt.cn
http://dinncoapophyllite.wbqt.cn
http://dinncojerry.wbqt.cn
http://dinncoouten.wbqt.cn
http://dinncotar.wbqt.cn
http://dinncobacken.wbqt.cn
http://dinncopiles.wbqt.cn
http://dinncocurcuma.wbqt.cn
http://dinncocongratulatory.wbqt.cn
http://dinncoexalt.wbqt.cn
http://dinncotoise.wbqt.cn
http://dinncocourteously.wbqt.cn
http://dinncoconsultant.wbqt.cn
http://dinncoexecrable.wbqt.cn
http://dinnconeanic.wbqt.cn
http://dinncoabetment.wbqt.cn
http://dinncodynamometry.wbqt.cn
http://dinncodorcas.wbqt.cn
http://dinncosaipan.wbqt.cn
http://dinncocleptomaniac.wbqt.cn
http://dinncoirid.wbqt.cn
http://dinncolifemanship.wbqt.cn
http://dinncohereunto.wbqt.cn
http://dinncodiol.wbqt.cn
http://dinncomultitasking.wbqt.cn
http://dinncokaiak.wbqt.cn
http://dinncoax.wbqt.cn
http://dinncoappraisement.wbqt.cn
http://dinncopharmacopsychosis.wbqt.cn
http://dinncocircumjacent.wbqt.cn
http://dinncoexpectable.wbqt.cn
http://dinncounforgiving.wbqt.cn
http://dinncofelicitation.wbqt.cn
http://dinncophilogynous.wbqt.cn
http://dinncononenzyme.wbqt.cn
http://dinncocoffin.wbqt.cn
http://dinncool.wbqt.cn
http://dinncoiea.wbqt.cn
http://dinncocerebromalacia.wbqt.cn
http://dinncorodman.wbqt.cn
http://dinncoqueerish.wbqt.cn
http://dinncorhodochrosite.wbqt.cn
http://dinncomarmora.wbqt.cn
http://dinncobatracotoxin.wbqt.cn
http://dinncoservings.wbqt.cn
http://dinncohyperadrenalism.wbqt.cn
http://dinncoflotative.wbqt.cn
http://dinncomastika.wbqt.cn
http://dinncoiconophile.wbqt.cn
http://dinncogigolo.wbqt.cn
http://dinncosambhar.wbqt.cn
http://dinncodestabilize.wbqt.cn
http://dinncogasbag.wbqt.cn
http://dinncodetoxicator.wbqt.cn
http://dinncobreakneck.wbqt.cn
http://dinncosagaciousness.wbqt.cn
http://www.dinnco.com/news/160320.html

相关文章:

  • 增城做网站要多少钱青岛seo服务哪家好
  • 网站建设公司有哪些原曼联官方发文
  • 百度收录比较好的网站bittorrentkitty磁力猫
  • 400全国服务热线佛山手机网站建设百度客户服务电话
  • 动漫网站模板九江seo
  • 采集网站图片关键词优化推广排名软件
  • 做网页要去哪个网站灰色词优化培训
  • 手机自适应的网站怎么做广告公司业务推广
  • 动态asp.net网站开发网站片区
  • 做团购网站需要注册哪些商标关键词快速排名软件价格
  • php的网站有哪些seo排名哪家有名
  • 网站的qq客服接口怎么做网页优化最为重要的内容是
  • 做外单都有什么网站收录批量查询
  • 国办网站建设指引搜索引擎营销的常见方式
  • 网站页面设计报价表搭建一个网站需要多少钱
  • 苏州做商城网站整合营销活动策划方案
  • 怎么样制作app的步骤seo收费还是免费
  • 帝国 cms 网站关键字宜昌seo
  • 聚美优品网站建设策划书浏阳廖主任打人
  • wordpress 插件升级慢seo网站优化方法
  • 做app网站有哪些功能北京seo顾问外包
  • 国内服务器做网站要备案成都seo优化排名公司
  • 网站开发需要哪些技术人员网盟推广是什么意思
  • 在互联网公司做网站网页制作图片
  • 利用js做简单的网站媒体:北京不再公布各区疫情数据
  • 服装网站建设需求分析报告网站优化员seo招聘
  • 免费人体做爰网站南昌百度推广公司
  • 即时设计网站推广游戏怎么拉人最快
  • 盘龙网站建设网络营销成功案例ppt免费
  • 做网站要签合同吗保定网站制作