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

青岛网站网站建设商城网站类建设哪家好

青岛网站网站建设,商城网站类建设哪家好,网页和网站做哪个好,网站正在建设 h5模板wiki百科 Gaussian Blur#xff0c;也叫高斯平滑#xff0c;是在Adobe Photoshop、GIMP以及Paint.NET等图像处理软件中广泛使用的处理效果#xff0c;通常用它来减少图像噪声以及降低细节层次。 opencv实现 opencv实现高斯滤波有两种方式#xff0c; 1、是使用自带的cv2…wiki百科 Gaussian Blur也叫高斯平滑是在Adobe Photoshop、GIMP以及Paint.NET等图像处理软件中广泛使用的处理效果通常用它来减少图像噪声以及降低细节层次。 opencv实现 opencv实现高斯滤波有两种方式 1、是使用自带的cv2.GaussianBlur 2、自己构造高斯kernel 然后调用cv2.filter2D函数 方法2这个高斯kernel也可以使用opencv自带的cv2.getGaussianKernel来创建并通过乘以转置来获得NXN的核。 以下是示例代码。 import cv2 import numpy as np original_image np.random.rand(256, 256, 3).astype(np.float32)# 设置高斯核大小和标准差 sigma 0.334# 确定高斯核大小 kernel_size int(6 * sigma 1) # 通常选择为 6*sigma 1# 使用 OpenCV 进行高斯模糊方法1 a cv2.GaussianBlur(original_image, (0, 0), sigma)# 使用 OpenCV 进行高斯模糊方法2 kernel cv2.getGaussianKernel(kernel_size, sigma) kernel kernel * kernel.transpose()b cv2.filter2D(original_image, -1, kernel) print(np.abs(a - b).max()) np.allclose(a, b, atol1e-3)pytorch 实现 有可能在构建的网络中需要使用高斯滤波但是又不想通过opencv实现也可以在tensor层面对图像进行高斯滤波。也就是使用卷积的方式来实现filter。 同样实现方式也有两种 1、使用 F.conv2d的方式 2、使用nn.Conv2d 但权重 需要固定 需要先定义高斯核然后在采用上述两种方式来具体实现 # 定义高斯核 def gaussian_kernel(size, sigma):x torch.arange(size, dtypetorch.float32) - size // 2kernel_1d torch.exp(-0.5 * (x / sigma) ** 2)kernel_1d / kernel_1d.sum()kernel_2d torch.outer(kernel_1d, kernel_1d)return kernel_2d.unsqueeze(0).unsqueeze(0)特别需要注意的是group 要设置为3RGB通道分别使用高斯核不然结果会出错。 以下是两种方法的实现。 # 方法1 F.conv2d应用高斯模糊 def apply_gaussian_blur(image, kernel_size, sigma):padding (kernel_size - 1) // 2# 使用 ReflectionPad2d 进行填充img_torch_pad F.pad(image, pad(padding, padding, padding, padding), modereflect)kernel gaussian_kernel(kernel_size, sigma)kernel kernel.repeat(3, 1, 1, 1) # 重复以匹配输入图像的通道数kernel kernel.to(image.device)# 使用卷积操作进行高斯模糊blurred_image F.conv2d(img_torch_pad, kernel, padding0, groups3)return blurred_image# 方法2 创建带有固定高斯核的Conv2D层 class GaussianBlur(nn.Module):def __init__(self, kernel_size, sigma, in_channels3):super(GaussianBlur, self).__init__()kernel gaussian_kernel(kernel_size, sigma)kernel kernel.repeat(in_channels, 1, 1, 1) # 重复以匹配输入图像的通道数self.conv nn.Conv2d(in_channels, in_channels, kernel_sizekernel_size, padding0,stride1,groupsin_channels, biasFalse)self.padding (kernel_size-1)//2self.conv.weight.data kerneldef forward(self, x):x F.pad(x, pad(self.padding, self.padding, self.padding, self.padding), modereflect)#x self.pad(x)return self.conv(x)比较四种方法的差异 # 创建一个形状为 (1, 3, 256, 56) 的随机图像 original_image np.random.rand(1, 3, 256, 56) original_image_np original_image[0].transpose(1, 2, 0)# 将 NumPy 数组转换为 PyTorch 张量 original_image_tensor torch.tensor(original_image, dtypetorch.float32)# 设置高斯核大小和标准差 sigma 0.334# 确定高斯核大小 kernel_size int(6 * sigma 1) # 通常选择为 6*sigma 1# opencv 方法1 opencv1 cv2.GaussianBlur(original_image_np, (0, 0), sigma).transpose(2, 0, 1)[np.newaxis, ...] #根据sigma创建kernel一般是6s 1 # opencv 方法2 # 使用 OpenCV 进行高斯模糊方法2 kernel cv2.getGaussianKernel(kernel_size, sigma) kernel kernel * kernel.transpose() opencv2 cv2.filter2D(original_image_np, -1, kernel).transpose(2, 0, 1)[np.newaxis, ...] # torch 方法1 torch1 apply_gaussian_blur(original_image_tensor, kernel_size, sigma).numpy() # torch 方法2 blur_layer GaussianBlur(kernel_size, sigma) torch2 blur_layer(original_image_tensor).detach().numpy()def all_arrays_close(*arrays):reference arrays[0]for array in arrays[1:]:if not np.allclose(reference, array,rtol1e-5, atol1e-8):return Falsereturn Trueif all_arrays_close(opencv1, opencv2, torch1, torch2):print(All arrays are close to each other.) else:print(Arrays are not close to each other.)输出 说明四种方法是等价的。
http://www.w-s-a.com/news/648975/

相关文章:

  • 北京企业建站模板微信公众号商城怎么制作
  • 制作网站 公司简介大型做网站的公司
  • 北京网站开发建设南昌网站小程序开发
  • 网站如何做ip签名图片宁波互联网
  • 中山小榄网站建设长沙网络营销品牌排名
  • 推广优化厂商联系方式网站推广教程优化整站
  • 为外国企业做中文网站建设网站建设单位哪家好
  • 生物制药公司网站模板有没有专业做steam创客的网站
  • 福田做棋牌网站建设找哪家效益快弄一个微信小程序多少钱
  • 成都哪家做网站建设比较好做推广赚钱的网站
  • 常州专门做网站的公司有哪些网页模板下载网站10
  • linx服务器怎么做网站做长页网站
  • 汕头网站建设sagevis服装设计公司有什么职位
  • 网站流量分析报告医院网站制作公司
  • 仿58网站怎么做邯郸网站设计多少钱
  • 广州网站制作开发wordpress中文固定连接
  • 成都网站建设公司盈利吗专门做二手手机的网站有哪些
  • 手机网站设计需要学什么wordpress读法
  • WordPress pajx天津短视频seo
  • 检察院门户网站建设情况总结深圳网站制作长沙
  • 单页导航网站模板搜索量查询
  • 如何在一个地方建设网站营销型定制网站
  • 保定网站建设方案维护动易网站中添加邮箱
  • 简易网站的html代码wordpress音乐html
  • 四川住房和城乡建设厅网站打不开海山网站建设
  • 深圳设计功能网站如何用html制作网站
  • 网络优化软件下载竞价排名和seo的区别
  • 龙华新区做网站中高端网站建设
  • 网站开发小图标大全手机网站设计开发
  • 网页设计设计一个网站口碑营销的优点