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

网站seo站长工具做创意ppt网站

网站seo站长工具,做创意ppt网站,海外seo培训,零代码开发平台免费目录 一、环境 二、图像卷积 三、代码演示 3.1、锐化 3.2、sobel边缘,x方向 3.3、sobel边缘,y方向 3.4、高斯模糊 3.5、完整代码 一、环境 本文使用环境为: Windows10Python 3.9.17opencv-python 4.8.0.74 二、图像卷积 在OpenCV…

目录

一、环境

二、图像卷积

三、代码演示

3.1、锐化

3.2、sobel边缘,x方向

3.3、sobel边缘,y方向

3.4、高斯模糊

3.5、完整代码


一、环境

本文使用环境为:

  • Windows10
  • Python 3.9.17
  • opencv-python 4.8.0.74

二、图像卷积

在OpenCV中,filter2D函数是用于在图像空间域进行卷积操作的函数。然而,你也可以通过fft2ifft2函数在频率域进行滤波。下面我将对这两种方法进行简单的比较。

空间域卷积:

空间域卷积是一种直接在图像上应用滤波器的方法。filter2D函数会接受一个输入图像和一个滤波器,然后在输入图像上应用滤波器。滤波器是一个二维数组,通常是一个核对图像进行卷积。例如,你可以使用一个边缘检测滤波器来检测图像中的边缘。

优点:

  1. 直观:空间域卷积直观易懂,易于实现和理解。
  2. 计算效率高:由于滤波器直接应用于图像像素,因此这种方法的计算效率相对较高。

缺点:

  1. 边缘效应:空间域卷积可能会在图像边缘产生不期望的效应,例如边缘像素的变形。
  2. 无法处理大滤波器:由于卷积核需要覆盖整个图像,因此对于大的滤波器,空间域卷积可能会变得非常慢。

频域滤波:

频域滤波是在频率域上应用滤波器的方法。首先,使用fft2函数将输入图像转换到频率域,然后应用滤波器,最后使用ifft2将结果转换回空间域。在频率域上,滤波器可以是一个一维数组,大大降低了处理时间和内存需求。

优点:

  1. 处理大滤波器:由于在频率域上进行滤波,所以可以处理任意大小的滤波器,而不会增加卷积核的大小。
  2. 边缘效应减少:由于在频率域上进行操作,所以可以减少在空间域卷积中出现的边缘效应。

缺点:

  1. 计算复杂度增加:频域滤波需要额外的步骤来转换图像到频率域和回空间域,这会增加计算的复杂度。
  2. 对噪声敏感:频率域滤波可能会放大图像中的噪声,特别是在高频部分。
  3. 需要更多的内存:频域滤波需要额外的内存来存储频率域的图像和滤波器。

总的来说,空间域卷积和频域滤波各有其优点和缺点。选择哪种方法取决于你的具体需求和问题。例如,如果你需要处理非常大的滤波器或者需要减少边缘效应,那么频域滤波可能是一个更好的选择。如果你需要快速简单的方法或者处理小滤波器,那么空间域卷积可能更适合你。

三、代码演示

卷积在图像中原理很简单,如下图,图像I1被卷积核K提取特征,最终得到I2,但是要注意,I1维度是5x5的,计算的时候,需要将其四周边界进行拓展(padding),形成7X7的矩阵(拓展区域填充0),然后卷积,最后才能得到5X5的I2。

3.1、锐化

# 卷积核:锐化kernel_shape = np.array([[0, -1, 0],[-1, 5, -1],[0, -1, 0]], np.float32)  # kernel should be floating point type

下面左边是原图,右边是效果图,效果图明显比原图更加清晰。

3.2、sobel边缘,x方向

# 卷积核:sobel边缘,X方向kernel_sebelx = np.array([[-1, 0, 1],[-2, 0, 2],[-1, 0, 1]], np.float32) 

3.3、sobel边缘,y方向

# 卷积核:sobel边缘,y方向kernel_sebely = np.array([[1, 2, 1],[0, 0, 0],[-1, -2, -1]], np.float32) 

3.4、高斯模糊

# 卷积核:高斯模糊,元素和为1kernel_gaussian = np.array([[0.1, 0.1, 0.1],[0.1, 0.2, 0.1],[0.1, 0.1, 0.1]], np.float32) 

3.5、完整代码

from __future__ import print_function
import sys
import time
import numpy as np
import cv2 as cvdef main(argv):src = cv.imread('7.jpg', 1)cv.namedWindow("Input", cv.WINDOW_AUTOSIZE)cv.namedWindow("Output", cv.WINDOW_AUTOSIZE)cv.imshow("Input", src)# 卷积核:锐化kernel_shape = np.array([[0, -1, 0],[-1, 5, -1],[0, -1, 0]], np.float32)  # kernel should be floating point type# 卷积核:sobel边缘,X方向kernel_sebelx = np.array([[-1, 0, 1],[-2, 0, 2],[-1, 0, 1]], np.float32) # 卷积核:sobel边缘,y方向kernel_sebely = np.array([[1, 2, 1],[0, 0, 0],[-1, -2, -1]], np.float32) # 卷积核:高斯模糊,元素和为1kernel_gaussian = np.array([[0.1, 0.1, 0.1],[0.1, 0.2, 0.1],[0.1, 0.1, 0.1]], np.float32) #dst1 = cv.filter2D(src, -1, kernel_shape)#dst1 = cv.filter2D(src, -1, kernel_sebelx)#dst1 = cv.filter2D(src, -1, kernel_sebely)dst1 = cv.filter2D(src, -1, kernel_gaussian)cv.imshow("Output", dst1)cv.waitKey(0)cv.destroyAllWindows()return 0if __name__ == "__main__":main(sys.argv[1:])

http://www.yayakq.cn/news/240468/

相关文章:

  • 网站建设目的及意义wordpress无法添加区块
  • 网站经营许可备案如何在linux服务器上架设网站
  • 阜宁做网站价格千锋教育成都校区
  • erp软件前十名北京seo服务商找行者seo
  • 网站的收录情况怎么查做网站分辨率一般多少
  • 手机创建网站免费注册中国建设银行宁波分行网站
  • 网站建设销售模式广告怎么做
  • t云建站宽创国际的展馆设计案例
  • 百度竞价排名一年费用seo短视频网页入口引流免费
  • 商城网站页面模板网络营销网站建设与策划分析
  • 深圳中国网站制作哪家公司好建筑设计公司招聘
  • 广州网站建设信息科技有限公司网页界面设计与制作书籍
  • 丰台专业网站建设公司个人博客主页代码
  • 中型电商网站维护费用什么网站建设策划方案 论文
  • 自己做网站模版做电子元器件销售什么网站好
  • 什么是企业网站pv服务器做网站教程
  • 网站设计模板html遵义网站定制
  • 北京期刊网站建设企业网站建设的方案ppt
  • 响应式学校网站网站做的比较好的公司吗
  • wordpress拿站做网站卖产品
  • 有什么网站可以接活做设计标志昌乐哪里有做网站的
  • 做app推广上哪些网站网站开发什么叫前端后端
  • 什么网站可以做自考试题合作加盟
  • 电脑在哪里制作网站网站群发手机短信
  • 自己公司产品网站的好处wordpress影视主题带采集
  • 网站大图轮播青岛外贸网站建设费用
  • 农业基本建设项目信息网站十大网络舆情案例
  • 个人做外贸网站网页开发自学
  • 贵州网站备案百度搜索关键词排名优化
  • 中山企业网站建设定制艺术网站建设公司