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

湛江做网站服务热线怎样能在百度上搜索到自己的店铺

湛江做网站服务热线,怎样能在百度上搜索到自己的店铺,苏州做企业网站,外包服务网站排名请注意:笔记内容片面粗浅,请读者批判着阅读! 在传统图像处理中,灰度变换和空间滤波通常采用确定性数学方法(如直方图均衡化、均值滤波等)。但当面对图像中的不确定性(如光照不均、噪声模糊性、边缘过渡区&…

请注意:笔记内容片面粗浅,请读者批判着阅读

在传统图像处理中,灰度变换空间滤波通常采用确定性数学方法(如直方图均衡化、均值滤波等)。但当面对图像中的不确定性(如光照不均、噪声模糊性、边缘过渡区)时,模糊逻辑(Fuzzy Logic)展现出了独特优势。

一、模糊理论基础

1.1 模糊集合与隶属函数

模糊集合突破了传统二值逻辑(0或1),允许元素以隶属度(0到1之间的值)表示归属程度。例如在灰度图像中,可将像素分为"暗"、“中灰”、"亮"三个模糊集合,通过高斯型或三角形隶属函数量化其归属程度。

import numpy as np
import skfuzzy as fuzz
import matplotlib.pyplot as plt# 定义灰度值范围 [0,255]
gray_levels = np.arange(0, 256, 1)# 创建三个模糊集合的隶属函数
dark = fuzz.gaussmf(gray_levels, 50, 30)     # 中心50,标准差30
medium = fuzz.gaussmf(gray_levels, 128, 40)  
bright = fuzz.gaussmf(gray_levels, 200, 30)# 可视化
plt.figure()
plt.plot(gray_levels, dark, 'b', linewidth=1.5, label='Dark')
plt.plot(gray_levels, medium, 'g', linewidth=1.5, label='Medium')
plt.plot(gray_levels, bright, 'r', linewidth=1.5, label='Bright')
plt.legend()
plt.title('Fuzzy Membership Functions')
plt.show()

在这里插入图片描述

1.2 模糊规则库

基于专家经验构建推理规则,例如:

  • 规则1:如果像素属于"暗"区域,则增强其对比度;
  • 规则2:如果像素属于"亮"且邻域差异大,则进行锐化。

二、模糊强度变换应用

根据应用场景设计逻辑规则

规则1:IF 像素属于Dark → THEN 输出更暗(如原值×0.8)  
规则2:IF 像素属于Gray → THEN 保持原值  
规则3:IF 像素属于Bright → THEN 输出更亮(如原值×1.2

2.1 自适应对比度增强

传统直方图均衡化可能过度增强噪声,而模糊方法通过动态调整增强强度实现更自然的变换。
实现步骤

  1. 计算每个像素的暗/中/亮隶属度
  2. 根据规则计算增强权重
  3. 合成新像素值
import cv2
from skimage import data, color
import numpy as np
import matplotlib.pyplot as plt
import skfuzzy as fuzz# 感受一下即可,我已经尽力了。。。
def fuzzy_contrast_enhance(img):# 灰度化gray = color.rgb2gray(img) * 255enhanced = np.zeros_like(gray)for i in range(gray.shape[0]):for j in range(gray.shape[1]):# 计算当前像素隶属度dark_mf = fuzz.gaussmf(gray[i, j], 50, 30)medium_mf = fuzz.gaussmf(gray[i, j], 128, 40)bright_mf = fuzz.gaussmf(gray[i, j], 200, 30)# 应用规则:暗区线性增强,亮区保持new_val = 0.8 * dark_mf * (gray[i, j] * 1.5) + \0.2 * medium_mf * gray[i, j] + \0.1 * bright_mf * gray[i, j]enhanced[i, j] = np.clip(new_val, 0, 255)return enhancedimg = data.astronaut()plt.subplot(1, 2, 1)
plt.imshow(img, cmap='gray')
plt.title('Original')
plt.axis('off')result = fuzzy_contrast_enhance(img)
plt.subplot(1, 2, 2)
plt.imshow(result, cmap='gray')
plt.title('Fuzzy Contrast Enhance')
plt.axis('off')plt.show()

在这里插入图片描述

2.2 与传统方法对比

图中展示了模糊增强(右)与直方图均衡化(左)的效果差异,可见模糊方法在保留亮部细节的同时更自然地增强了暗部。

三、模糊空间滤波设计

3.1 边缘检测滤波器

传统Sobel算子对噪声敏感,而模糊滤波器可通过分析邻域灰度差异的隶属度实现鲁棒检测。

设计步骤

  1. 定义邻域差异的模糊集合(小/中/大)
  2. 构建规则:“若差异大,则标记为边缘”
  3. 去模糊化输出边缘强度
import numpy as np
import skfuzzy as fuzz
from scipy.ndimage import convolve
from skimage import data, color
import matplotlib.pyplot as pltdef fuzzy_edge_detection(img):"""基于模糊逻辑的边缘检测"""# 输入处理if len(img.shape) == 3:gray = color.rgb2gray(img) * 255else:gray = img.astype(float)gray = np.clip(gray, 0, 255).astype(np.uint8)# Sobel梯度计算sobel_x = np.array([[-1, 0, 1], [-2, 0, 2], [-1, 0, 1]])sobel_y = np.array([[1, 2, 1], [0, 0, 0], [-1, -2, -1]])grad_x = convolve(gray, sobel_x)grad_y = convolve(gray, sobel_y)gradient = np.sqrt(grad_x ** 2 + grad_y ** 2)# 梯度幅值归一化gradient = (gradient / gradient.max()) * 255  # 归一化到[0,255]gradient = gradient.astype(np.uint8)  # 转换为整数# 定义梯度隶属函数grad_levels = np.arange(0, 256)low = fuzz.trapmf(grad_levels, [0, 20, 60, 100])  # 低梯度过渡区high = fuzz.trapmf(grad_levels, [60, 100, 255, 255])  # 高梯度响应区# 预计算隶属度high_mf = fuzz.interp_membership(grad_levels, high, grad_levels)# 应用模糊规则edge_strength = high_mf[gradient] * 255return edge_strength.astype(np.uint8)if __name__ == "__main__":img = data.camera()edges = fuzzy_edge_detection(img)plt.figure(figsize=(12, 6))plt.subplot(1, 2, 1)plt.imshow(img, cmap='gray')plt.title('Original')plt.axis('off')plt.subplot(1, 2, 2)plt.imshow(edges, cmap='gray', vmin=0, vmax=255)  # 强制显示范围plt.title('Fuzzy Edges (Fixed)')plt.axis('off')plt.show()

在这里插入图片描述

3.2 去噪滤波器

通过分析邻域像素的相似度隶属度,动态调整滤波强度:

import numpy as np
from skimage import data, util, color
import matplotlib.pyplot as plt
from skimage.util import view_as_windowsdef fuzzy_denoise(img, window_size=5, sigma=30):# 强制转为浮点灰度图if len(img.shape) == 3:img = color.rgb2gray(img) * 255img = img.astype(np.float32)# 镜像填充pad = window_size // 2padded = np.pad(img, pad, mode='reflect')# 向量化窗口操作windows = view_as_windows(padded, (window_size, window_size))h, w = img.shapedenoised = np.zeros_like(img)for i in range(h):for j in range(w):window = windows[i, j]center = window[pad, pad]# 计算相似度(优化防零除)diffs = np.abs(window - center)similarity = np.exp(-diffs / sigma)  # 高斯型隶属函数sum_weights = np.sum(similarity) + 1e-6  # 确保分母非零denoised[i, j] = np.sum(window * similarity) / sum_weights# 归一化并转为uint8denoised = np.clip(denoised, 0, 255).astype(np.uint8)return denoisedif __name__ == "__main__":# 生成有效测试数据original = data.camera().astype(np.uint8)  # 确保输入为uint8noisy = util.random_noise(original, mode='gaussian', var=0.02)  # 生成[0,1]浮点noisy = (noisy * 255).astype(np.uint8)  # 正确转换为uint8# 去噪处理denoised = fuzzy_denoise(noisy, sigma=40, window_size=7)# 正确显示图像plt.figure(figsize=(12, 6))plt.subplot(1, 3, 1)plt.imshow(original, cmap='gray', vmin=0, vmax=255)plt.title('Original (uint8)')plt.axis('off')plt.subplot(1, 3, 2)plt.imshow(noisy, cmap='gray', vmin=0, vmax=255)plt.title('Noisy Image')plt.axis('off')plt.subplot(1, 3, 3)plt.imshow(denoised, cmap='gray', vmin=0, vmax=255)plt.title('Denoised (Fuzzy)')plt.axis('off')plt.tight_layout()plt.show()

在这里插入图片描述

http://www.dtcms.com/wzjs/435781.html

相关文章:

  • wordpress主题漏洞北京公司排名seo
  • 帮别人备案网站吗网络推广主要工作内容
  • 龙岩网站设计制作广告软文范例200字
  • 做网站怎么留接口黄页88网
  • 网站安全维护内容百度怎么做推广和宣传
  • 网站建设数据库实训体会百度云资源搜索入口
  • 兼职做调查哪个网站好线下引流的八种推广方式
  • 怎么免费制作企业网站可以进入任何网站的浏览器
  • 手机适配网站google搜索引擎入口下载
  • 使用ai做网站设计网络推广网站的方法
  • 基于个性化推荐的电商网站设计与实现plc培训机构哪家最好
  • 模板网站源码2021小学生新闻摘抄
  • 服装厂做1688网站效果好不好网店代运营靠谱吗
  • 大型网站建设部署方案韩国最新新闻
  • 石家庄市高新区建设局网站谷歌paypal官网
  • 用订制音乐网站做的音乐算原创吗人工智能培训班收费标准
  • 自己做的网站怎么传入外网如何让自己的网站快速被百度收录
  • 怎么做网站版面西地那非能提高硬度吗
  • php网站建设流程搜索引擎优化排名工具
  • 扫二维码进入个人的购物网站如何做广州谷歌seo公司
  • 黑龙江外贸网站制作广告公司网站
  • 西城区网站建设seo工作流程
  • wordpress sqllite关键词优化的五个步骤
  • 广告机自建站模板青岛关键词排名系统
  • 类似58同城网站建设多少钱产品营销方案策划书
  • 做网站都需要什么人团2024年新闻摘抄十条
  • 羊 东莞网站开发简述什么是seo及seo的作用
  • 本地服务类网站成本百度广告推广电话
  • 网站建设方案论文全球中文网站排名
  • wordpress文章部分显示电商关键词排名优化怎么做?