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

服饰网站 模板苏州网站网页设计

服饰网站 模板,苏州网站网页设计,重视网站阵地建设,怎样申请免费网站域名三、直方图均衡化 1. 普通直方图均衡化 直方图均衡化的原理是将图像的灰度直方图展平,使得每个灰度级都有更多的像素分布,从而增强图像的对比度。具体步骤如下: 计算灰度直方图:统计图像中每个灰度级的像素数量。 计算累积分布函数(CDF):计算每个灰度级的累积概率。 映…三、直方图均衡化 1. 普通直方图均衡化 直方图均衡化的原理是将图像的灰度直方图展平,使得每个灰度级都有更多的像素分布,从而增强图像的对比度。具体步骤如下: 计算灰度直方图:统计图像中每个灰度级的像素数量。 计算累积分布函数(CDF):计算每个灰度级的累积概率。 映射灰度值:将原始图像中的每个灰度值映射到新的灰度值,使得新的灰度分布更加均匀。 生成均衡化后的图像:使用映射后的灰度值生成新的图像。 import cv2 import numpy as np import matplotlib.pyplot as pltdef histogram_equalization(image):"""直方图均衡化:param image: 输入图像(灰度图像):return: 处理后的图像"""if len(image.shape) == 3:image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)equalized_image = cv2.equalizeHist(image)return equalized_imagedef main():# 读取图像image = cv2.imread('demo.jpg')if image is None:print("Error: Could not read image.")return# 直方图均衡化equalized_image = histogram_equalization(image)# 显示原始图像和处理后的图像plt.figure(figsize=(8, 4))plt.subplot(1, 2, 1)plt.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))plt.title('Original Image')plt.axis('off')plt.subplot(1, 2, 2)plt.imshow(equalized_image, cmap='gray')plt.title('Histogram Equalized Image')plt.axis('off')plt.tight_layout()plt.show()# 显示直方图plt.figure(figsize=(12, 6))plt.subplot(1, 2, 1)plt.hist(image.ravel(), 256, [0, 256], color='gray', alpha=0.7)plt.title('Histogram of Original Image')plt.xlabel('Pixel Value')plt.ylabel('Frequency')plt.subplot(1, 2, 2)plt.hist(equalized_image.ravel(), 256, [0, 256], color='gray', alpha=0.7)plt.title('Histogram of Equalized Image')plt.xlabel('Pixel Value')plt.ylabel('Frequency')plt.tight_layout()plt.show()if __name__ == "__main__":2. 限制对比度自适应直方图均衡化(Contrast Limited Adaptive Histogram Equalization, CLAHE) 限制对比度自适应直方图均衡化在直方图均衡化的基础上进行了改进,通过限制对比度和局部均衡化来避免过度增强图像的对比度,从而减少噪声和不自然的效果。基本原理如下: 图像分割:将图像分割成若干个小块(称为“tiles”),每个小块的大小由 tileGridSize 参数指定。 局部均衡化:对每个小块分别进行直方图均衡化。为了限制对比度,使用 clipLimit 参数来限制每个小块的直方图中像素值的最大数量。 插值平滑:将每个小块均衡化后的结果通过插值技术合并,以避免明显的边界和不连续性。 import cv2 import numpy as np import matplotlib.pyplot as pltdef clahe_equalization(image, clipLimit=2.0, tileGridSize=(8, 8)):"""CLAHE均衡化:param image: 输入图像(灰度图像):param clipLimit: 对比度限制阈值:param tileGridSize: 小块大小:return: 处理后的图像"""if len(image.shape) == 3:image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)clahe = cv2.createCLAHE(clipLimit=clipLimit, tileGridSize=tileGridSize)clahe_image = clahe.apply(image)return clahe_imagedef main():# 读取图像image = cv2.imread('demo.jpg')if image is None:print("Error: Could not read image.")return# CLAHE均衡化clahe_image = clahe_equalization(image, clipLimit=2.0, tileGridSize=(8, 8))# 显示原始图像和处理后的图像plt.figure(figsize=(8, 4))plt.subplot(1, 2, 1)plt.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))plt.title('Original Image')plt.axis('off')plt.subplot(1, 2, 2)plt.imshow(clahe_image, cmap='gray')plt.title('CLAHE Equalized Image')plt.axis('off')plt.tight_layout()plt.show()# 显示直方图plt.figure(figsize=(12, 6))plt.subplot(1, 2, 1)plt.hist(image.ravel(), 256, [0, 256], color='gray', alpha=0.7)plt.title('Histogram of Original Image')plt.xlabel('Pixel Value')plt.ylabel('Frequency')plt.subplot(1, 2, 2)plt.hist(clahe_image.ravel(), 256, [0, 256], color='gray', alpha=0.7)plt.title('Histogram of CLAHE Equalized Image')plt.xlabel('Pixel Value')plt.ylabel('Frequency')plt.tight_layout()plt.show()if __name__ == "__main__":main()四、空间域(增强) 空间域增强方法直接操作图像的像素值,常用于提高图像的可视性和特征表现。空间域增强方法可以分为线性滤波和非线性滤波两大类。此外,边缘检测也是一种重要的空间域增强技术,用于突出图像中的边缘和细节。 1. 线性滤波 线性滤波通过卷积操作对图像进行处理,常用的线性滤波器包括方框滤波、均值滤波器、高斯滤波器和锐化滤波器等。 (1) 方框滤波(Box Filtering) 方框滤波是一种简单的均值滤波,通过计算每个像素邻域内的平均值来平滑图像。具体来说,对于每个像素,取其邻域内的所有像素值的平均值作为该像素的新值。 import cv2 import numpy as np import matplotlib.pyplot as pltdef box_filter(image, kernel_size=(3, 3)):"""方框滤波:param image: 输入图像:param kernel_size: 滤波器大小:return: 处理后的图像"""filtered_image = cv2.boxFilter(image, -1, kernel_size)return filtered_imagedef main():# 读取图像image = cv2.imread('demo.jpg')if image is None:print("Error: Could not read image.")return# 方框滤波box_filtered_image = box_filter(image, kernel_size=(5, 5))# 显示原始图像和处理后的图像plt.figure(figsize=(8, 4))plt.subplot(1, 2, 1)plt.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))plt.title('Original Image')plt.axis('off')plt.subplot(1, 2, 2)plt.imshow(cv2.cvtColor(box_filtered_image, cv2.COLOR_BGR2RGB))plt.title('Box Filtered Image')plt.axis('off')plt.tight_layout()plt.show()if __name__ == "__main__":main()(2) 均值滤波器(Mean Filter) 均值滤波器通过计算每个像素邻域内的平均值来平滑图像。具体来说,对于每个像素,取其邻域内的所有像素值的平均值作为该像素的新值。 import cv2 import numpy as np import matplotlib.pyplot as pltdef mean_filter(image, kernel_size=(3, 3)):"""均值滤波:param image: 输入图像:param kernel_size: 滤波器大小:return: 处理后的图像"""filtered_image = cv2.blur(image, kernel_size)return filtered_imagedef main():# 读取图像image = cv2.imread('demo.jpg')if image is None:print("Error: Could not read image.")return# 均值滤波mean_filtered_image = mean_filter(image, kernel_size=(5, 5))# 显示原始图像和处理后的图像plt.figure(figsize=(8, 4))plt.subplot(1, 2, 1)plt.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))plt.title('Original Image')plt.axis('off')plt.subplot(1, 2, 2)plt.imshow(cv2.cvtColor(mean_filtered_image, cv2.COLOR_BGR2RGB))plt.title('Mean Filtered Image')plt.axis('off')plt.tight_layout()plt.show()if __name__ == "__main__":main()(3) 高斯滤波器(Gaussian Filter) 高斯滤波器通过高斯核对图像进行卷积操作,以平滑图像并减少噪声。高斯核的权重分布符合高斯分布,中心权重最大,边缘权重逐渐减小。 import cv2 import numpy as np import matplotlib.pyplot as pltdef gaussian_filter(image, kernel_size=(5, 5), sigmaX=0):"""高斯滤波:param image: 输入图像:param kernel_size: 滤波器大小:param sigmaX: 高斯核的标准差:return: 处理后的图像"""filtered_image = cv2.GaussianBlur(image, kernel_size, sigmaX)return filtered_imagedef main():# 读取图像image = cv2.imread('demo.jpg')if image is None:print("Error: Could not read image.")return# 高斯滤波gaussian_filtered_image = gaussian_filter(image, kernel_size=(5, 5), sigmaX=0)# 显示原始图像和处理后的图像plt.figure(figsize=(8, 4))plt.subplot(1, 2, 1)plt.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))plt.title('Original Image')plt.axis('off')plt.subplot(1, 2, 2)plt.imshow(cv2.cvtColor(gaussian_filtered_image, cv2.COLOR_BGR2RGB))plt.title('Gaussian Filtered Image')plt.axis('off')plt.tight_layout()plt.show()if __name__ == "__main__":main()(4) 锐化滤波器(Sharpening Filter) 锐化滤波器通过增强图像的边缘和细节来提高图像的清晰度。常用的锐化滤波器包括拉普拉斯算子和高通滤波器。 import cv2 import numpy as np import matplotlib.pyplot as pltdef sharpen_filter(image, kernel_size=(3, 3), alpha=1.5):"""锐化滤波:param image: 输入图像:param kernel_size: 滤波器大小:param alpha: 锐化因子:return: 处理后的图像"""# 创建锐化滤波器kernel = np.array([[-1, -1, -1],[-1, 8, -1],[-1, -1,
http://www.zqtcl.cn/news/436455/

相关文章:

  • 龙岩门户网站最新仿58同城网站源码
  • 简单的企业小网站南宁最新消息今天
  • 美橙表业手表网站公司推广渠道
  • 大连网站排名优化价格wordpress锚文字
  • 漯河网做网站南京市建设工程档案馆网站
  • 重庆可以建建网站的平台天眼查 企业查询官网
  • gta5单机买房子网站在建设免费建小程序网站
  • 怎么制作网站设计图片劳动保障局瓯海劳务市场和做网站
  • 视屏网站制作青岛平台网站建设
  • asp网站做搜索义乌网站建设工作室
  • .net网站开发环境wordpress添加特效
  • 常州 网站制作如何找专业的网站建设公司
  • 陕西网络营销优化公司seo搜索价格
  • 山东通信局报备网站东营城镇建设规划网站
  • 建设银行如何招聘网站网站开发转包协议
  • 主流网站建设服务器有哪些电商平台
  • 网站与数据库的联系wordpress改为中文
  • 如何不让百度收录网站wix和wordpress比较
  • php开源网站 网上商城网站建设公司做销售好不好
  • 网站开发学哪种语言网站加水印
  • 帮人家做网站维护女性手机网站模板
  • 给一个企业做网站苏州网站备案查询
  • 域名备案期间怎么做网站广告投放行业
  • wordpress站内搜索统计网站突然不收录了
  • 网站源码小千个人网做网页设计一个月能挣多少
  • 贵州省建设厅公示网站广州seo网站推广费用
  • 旅游网站建设前期分析公众号制作多少钱
  • 延庆长沙网站建设怎样下载门户网站
  • flash 网站建设建设带数据搜索的网站
  • 设计网站网站名称云主机 小型网站