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

网站后台邮箱设置2021年网络热点舆论

网站后台邮箱设置,2021年网络热点舆论,wordpress 纯净版下载,房产信息网的官网引言 在计算机视觉领域#xff0c;获取天空的颜色是一个常见任务#xff0c;广泛应用于天气分析、环境感知和图像增强等场景。本篇博客将介绍如何通过已知的天空区域 Mask 提取天空像素#xff0c;并使用 K-means 聚类分析天空颜色#xff0c;最终根据颜色占比查表得到主导…引言 在计算机视觉领域获取天空的颜色是一个常见任务广泛应用于天气分析、环境感知和图像增强等场景。本篇博客将介绍如何通过已知的天空区域 Mask 提取天空像素并使用 K-means 聚类分析天空颜色最终根据颜色占比查表得到主导颜色。 一、流程概述 本文的流程分为以下几个步骤 1. 使用分割 Mask 提取天空区域像素。 2. 通过 K-means 聚类对天空像素进行颜色聚类。 3. 统计每个聚类的面积占比筛选面积占比超过 30% 的颜色。 4. 根据筛选结果查表获取对应的颜色名称。 接下来我们将详细讲解每个步骤。 二、提取天空区域像素 分割 Mask 是一个二值化的图像其中 1 表示天空区域0 表示非天空区域。通过 Mask可以从原图中提取出天空区域的像素。 from typing import Tuple import numpy as np from PIL import Imagedef extract_sky_pixels(image_path: str, sky_mask: np.ndarray) - np.ndarray:根据天空区域的 Mask 提取像素。:param image_path: 输入图像的路径。:param sky_mask: 天空区域的二值化 Mask1 表示天空0 表示非天空。:return: 天空区域的像素数组形状为 (N, 3)每行表示一个像素的 [R, G, B] 值。image Image.open(image_path).convert(RGB)image_np np.array(image) # 转为 NumPy 数组return image_np[sky_mask 1] # 仅保留天空区域的像素三、K-means 聚类分析天空颜色 提取天空像素后我们使用 K-means 聚类将颜色分为若干类默认设定为 k3并统计每类颜色的面积占比。 以下是 K-means 聚类的代码实现 from sklearn.cluster import KMeans from typing import Tupledef kmeans_clustering(sky_pixels: np.ndarray, k: int 3) - Tuple[np.ndarray, np.ndarray]:使用 K-means 对天空像素聚类。:param sky_pixels: 天空区域的像素数组形状为 (N, 3)每行表示 [R, G, B] 值。:param k: 聚类的数量默认值为 3。:return: - cluster_centers: 每个聚类的中心颜色形状为 (k, 3)。- area_ratios: 每个聚类的面积占比形状为 (k,)。# 归一化像素值0-1 范围sky_pixels_normalized sky_pixels / 255.0# 使用 K-means 聚类kmeans KMeans(n_clustersk, random_state0).fit(sky_pixels_normalized)# 获取每个像素的聚类标签labels kmeans.labels_# 每个聚类的中心颜色cluster_centers kmeans.cluster_centers_ * 255.0# 统计每个聚类的像素数量label_counts np.bincount(labels)# 计算每个聚类的面积占比area_ratios label_counts / len(sky_pixels)return cluster_centers, area_ratios四、筛选主导颜色并查表 我们关心面积占比超过 30% 的颜色并通过查表将 RGB 值转换为对应的颜色名称。 以下是颜色查表和筛选的代码 from typing import List, Tupledef rgb_to_color_name(rgb: np.ndarray) - str:根据 RGB 值查表获取颜色名称。:param rgb: RGB 颜色值形状为 (3,)。:return: 颜色名称。# 定义常见颜色的 RGB 值和名称color_table {Sky Blue: (135, 206, 235),Deep Sky Blue: (0, 191, 255),Light Blue: (173, 216, 230),Azure: (240, 255, 255),Navy: (0, 0, 128)}# 计算每个颜色的欧几里得距离min_dist float(inf)color_name Unknownfor name, value in color_table.items():dist np.linalg.norm(np.array(rgb) - np.array(value))if dist min_dist:min_dist distcolor_name namereturn color_namedef filter_and_get_color_names(cluster_centers: np.ndarray, area_ratios: np.ndarray, threshold: float 0.3 ) - List[Tuple[str, float]]:筛选面积占比超过阈值的颜色并查表获取颜色名称。:param cluster_centers: 每个聚类的中心颜色形状为 (k, 3)。:param area_ratios: 每个聚类的面积占比形状为 (k,)。:param threshold: 面积占比的筛选阈值默认为 0.3。:return: 主导颜色及其面积占比的列表每个元素为 (颜色名称, 面积占比)。colors []for center, ratio in zip(cluster_centers, area_ratios):if ratio threshold:color_name rgb_to_color_name(center)colors.append((color_name, ratio))return colors五、完整代码示例 以下是完整的流程代码实现从分割 Mask 提取天空颜色的过程 from typing import List, Tuple import numpy as npdef get_sky_colors(image_path: str, sky_mask: np.ndarray, k: int 3, threshold: float 0.3) - List[Tuple[str, float]]:获取天空区域的主导颜色。:param image_path: 输入图像的路径。:param sky_mask: 天空区域的二值化 Mask1 表示天空0 表示非天空。:param k: 聚类的数量默认值为 3。:param threshold: 面积占比的筛选阈值默认为 0.3。:return: 主导颜色及其面积占比的列表每个元素为 (颜色名称, 面积占比)。# Step 1: 提取天空像素sky_pixels extract_sky_pixels(image_path, sky_mask)# Step 2: K-means 聚类cluster_centers, area_ratios kmeans_clustering(sky_pixels, k)# Step 3: 筛选并查表获取颜色名称dominant_colors filter_and_get_color_names(cluster_centers, area_ratios, threshold)return dominant_colors# 测试 if __name__ __main__:# 假设已知分割 Masksample_mask np.load(sky_mask.npy) # 载入二值化 Maskimage_path example.jpg # 输入图像路径sky_colors get_sky_colors(image_path, sample_mask)print(天空颜色, sky_colors)六、总结 通过分割 Mask 和 K-means 聚类我们可以高效提取天空区域的颜色特征并获取主导颜色。这种方法简单易用适合多种场景需求。 希望这篇博客能帮助你快速上手天空颜色提取的实现如有疑问欢迎在评论区交流
http://www.dnsts.com.cn/news/2406.html

相关文章:

  • 网页制作与前端开发aso优化报价
  • 怎样做黄色网站推广神器app
  • 网网站制作持啊传媒企业推广
  • 做自己独特的表白网站广州百度搜索优化
  • 关于做暧暧的网站成品短视频app下载有哪些
  • 怎么做网站10步骤短视频推广平台有哪些
  • 动漫制作和动漫设计哪个好seo策略分析
  • 网站最合适的字体大小沈阳seo优化排名公司
  • 手机端便民服务平台网站建设推广引流哪个软件最好
  • 手机制作网站的软件推广图片制作
  • 做家教备课用什么网站手机百度快照
  • 聚美优品网站建设方案竞价推广托管公司价格
  • 网站建设的付款方式google搜索入口
  • 什么是网站?广安百度推广代理商
  • 中信建设有限责任公司发债公告百度seo优化是什么
  • 公司做网站怎么做账电脑培训班有哪些科目
  • 杭州做网站的公司百度上怎么做推广
  • php做网站首页修改石家庄关键词优化平台
  • 做网店网站滕州seo
  • 网站开发包括免费网络营销软件
  • wordpress 密码验证失败深圳做seo有哪些公司
  • 做网站框架搭建的人百度门店推广
  • 企业网站建设哪家便宜百度推广账户登录首页
  • 网站建设的公司开发方案推一手新闻发稿平台
  • 青岛一点两区救治医院seo搜外
  • 网站下载的wordpress模板如何添加品牌营销活动策划方案
  • 山海关网站制作优化软件刷排名seo
  • 小学做试卷的网站售卖链接
  • wordpress 菜单跳转seo快速排名软件价格
  • 怎么用电脑做网站服务器泰安网站seo推广