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

wordpress文章编辑慢哪里有seo排名优化

wordpress文章编辑慢,哪里有seo排名优化,设计师网名昵称,金融视频直播网站开发利用Python实现了一个图像处理功能,即批量提取图像中的印章区域;使用了颜色聚类的方法来提取颜色。 本代码也发布到了github,欢迎大家试用(如果帮助,请star一下): GitHub - AICVHub/seal_seg_o…

利用Python实现了一个图像处理功能,即批量提取图像中的印章区域;使用了颜色聚类的方法来提取颜色。

本代码也发布到了github,欢迎大家试用(如果帮助,请star一下):

GitHub - AICVHub/seal_seg_opencv: pyhon opencv seal segpyhon opencv seal seg. Contribute to AICVHub/seal_seg_opencv development by creating an account on GitHub.icon-default.png?t=O83Ahttps://github.com/AICVHub/seal_seg_opencv.git

目录

1. 方法

2. 代码

3. 运行结果


1. 方法

  • K-means 聚类 (kmeans_color_quantization 函数): 通过将图像从BGR颜色空间转换到HSV颜色空间,并使用K-means聚类算法来找到图像中的主要颜色。K-means算法是一种无监督学习算法,用于将数据点划分为K个簇,使得每个数据点与其所属簇的中心距离之和最小。

  • 颜色阈值 (extract_seal_with_kmeans 函数): 根据聚类得到的颜色中心,创建HSV颜色空间中的上下界限,以确定与印章颜色相似的像素范围。通过调整hue_threshold参数,可以控制颜色相似度的敏感度。

  • 掩码生成: 使用cv2.inRange函数根据颜色阈值生成掩码,这些掩码用于识别图像中可能包含印章的区域。

  • 掩码膨胀 (cv2.dilate 函数): 对生成的掩码进行膨胀操作,以填补印章区域中的小空洞或连接断裂的部分。

  • 图像合成: 使用掩码提取印章区域,并将其与原图结合在一个透明的背景上。这里使用了PIL库(Python Imaging Library)来处理图像的透明度和合成。

  • 批量处理 (batch_extract_seals_with_dominant_color 函数): 遍历指定文件夹中的所有图像,对每个图像执行印章提取和合成操作,并将结果保存到另一个文件夹。

2. 代码

import cv2
import numpy as np
import os
from sklearn.cluster import KMeans
from PIL import Imagedef kmeans_color_quantization(hsv_image, k=2):"""使用 K-means 聚类找到图像中的主要颜色。"""# 重新调整图像大小以加速聚类过程resized_image = cv2.resize(hsv_image, (0, 0), fx=0.5, fy=0.5)# 将图像数据转换为二维数组,每行是一个像素的 HSV 值reshaped_image = resized_image.reshape(-1, 3)# 应用 K-means 聚类kmeans = KMeans(n_clusters=k)kmeans.fit(reshaped_image)# 返回聚类中心return kmeans.cluster_centers_def extract_seal_with_kmeans(image_path, output_path, k=4, hue_threshold=15):image = cv2.imread(image_path)if image is None:print(f"Image not found at {image_path}")returnhsv_image = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)dominant_colors = kmeans_color_quantization(hsv_image, k=k)masks = []for color in dominant_colors:lower_color = np.array([color[0] - hue_threshold, 100, 100])upper_color = np.array([color[0] + hue_threshold, 255, 255])mask = cv2.inRange(hsv_image, lower_color, upper_color)masks.append(mask)combined_mask = cv2.bitwise_or(masks[0], masks[1]) if len(masks) > 1 else masks[0]# 膨胀掩码kernel = np.ones((3, 3), np.uint8)final_mask = cv2.dilate(combined_mask, kernel, iterations=1)# 提取印章区域seal = cv2.bitwise_and(image, image, mask=final_mask)# 将OpenCV图像转换为PIL图像original_image = Image.open(image_path).convert('RGBA')seal_pil = Image.fromarray(cv2.cvtColor(seal, cv2.COLOR_BGR2RGBA)).convert('RGBA')# 计算新图像的宽度,原图宽度加上印章区域宽度original_width, original_height = original_image.sizeseal_width, seal_height = seal_pil.sizenew_width = original_width + seal_widthnew_height = max(original_height, seal_height)# 创建一个全透明的图像,用于左右拼接transparent_background = Image.new('RGBA', (new_width, new_height), (0, 0, 0, 0))# 将原图粘贴到透明背景上transparent_background.paste(original_image, (0, 0))# 将印章区域粘贴到透明背景的右侧transparent_background.paste(seal_pil, (original_width, 0), seal_pil)# 保存结果transparent_background.save(output_path)print(f"Original image and extracted seal combined with transparent background saved to {output_path}")def batch_extract_seals_with_dominant_color(input_dir, output_dir):"""批量处理文件夹中的所有图像,使用主要颜色进行印章提取。参数:- input_dir: 包含输入图像的文件夹路径。- output_dir: 输出图像的保存文件夹路径。"""if not os.path.exists(output_dir):os.makedirs(output_dir)for filename in os.listdir(input_dir):image_path = os.path.join(input_dir, filename)output_path = os.path.join(output_dir, os.path.splitext(filename)[0]+'.png')extract_seal_with_kmeans(image_path, output_path)# 使用示例
if __name__ == "__main__":import argparseparser = argparse.ArgumentParser(description="Batch extract seals with dominant color from images.")parser.add_argument("--input_dir", default='/data/projects/Matting/modnet_demo/seals',help="Path to the folder containing input images.")parser.add_argument("--output_dir", default='/data/projects/Matting/modnet_demo/output_seals_01',help="Path to the folder for saving output images.")args = parser.parse_args()batch_extract_seals_with_dominant_color(args.input_dir, args.output_dir)

关于其中一些方法的说明:

KMeans:

KMeans 是一个在机器学习库 scikit-learn 中实现的 K-means 聚类算法的类。K-means 聚类是一种无监督学习算法,它的目标是将数据点划分为 K 个簇,使得每个数据点与其所属簇的中心(即聚类中心)之间的距离之和最小。这种算法在许多领域都有应用,包括图像处理、市场细分、天文数据分析等。

以下是 KMeans 类的一些关键点:

  1. 初始化 (__init__ 方法): 当你创建一个 KMeans 实例时,你需要指定 n_clusters 参数,它代表你想要划分的簇的数量。在这个例子中,k 就是这个参数的值。

  2. 拟合数据 (fit 方法): 调用 fit 方法时,你需要传递一个数据集,通常是二维数组的形式,其中每行代表一个数据点,每列代表一个特征。KMeans 会根据这些数据点初始化簇中心,并迭代地调整簇中心的位置,直到满足停止条件(如达到一定的迭代次数或簇中心的变化小于某个阈值)。

  3. 聚类中心 (cluster_centers_ 属性): 聚类完成后,KMeans 实例的 cluster_centers_ 属性会包含 K 个聚类中心的坐标。每个聚类中心是一个向量,其维度与输入数据的特征维度相同。

  4. 标签分配 (labels_ 属性): 除了聚类中心,KMeans 还会为每个输入数据点分配一个标签,表示它属于哪个簇。这个标签分配是通过计算数据点与各个聚类中心之间的距离来决定的,数据点会被分配到最近的聚类中心所代表的簇。

  5. 优化: K-means 算法在初始化簇中心时可能会陷入局部最优,因此可能需要多次运行以获得更好的结果。KMeans 类提供了 init 参数来指定初始化方法,例如 init='k-means++',这是一种更智能的初始化方法,可以提高找到全局最优解的概率。

  6. 灵活性: KMeans 类还提供了其他参数来调整算法的行为,比如 max_iter(最大迭代次数)、tol(收敛阈值)等。

 cv2.inRange:

在OpenCV中,cv2.inRange 函数用于创建一个掩码(mask),该掩码将图像中与指定颜色范围匹配的像素设置为白色(即像素值为255),而将不匹配的像素设置为黑色(即像素值为0)。这个函数在图像处理中非常有用,特别是在需要根据颜色来分割图像时。

3. 运行结果


文章转载自:
http://dis.c7500.cn
http://benchman.c7500.cn
http://backlash.c7500.cn
http://zend.c7500.cn
http://pistology.c7500.cn
http://entrancing.c7500.cn
http://tomalley.c7500.cn
http://downhold.c7500.cn
http://mohair.c7500.cn
http://tache.c7500.cn
http://kinase.c7500.cn
http://somebody.c7500.cn
http://aliyah.c7500.cn
http://catacoustics.c7500.cn
http://paddington.c7500.cn
http://ise.c7500.cn
http://photocopy.c7500.cn
http://impawn.c7500.cn
http://fantom.c7500.cn
http://acetophenetidin.c7500.cn
http://magnific.c7500.cn
http://semination.c7500.cn
http://lollypop.c7500.cn
http://misspend.c7500.cn
http://preservice.c7500.cn
http://aniseikonia.c7500.cn
http://cyclometer.c7500.cn
http://paxwax.c7500.cn
http://cubiform.c7500.cn
http://conium.c7500.cn
http://antiscriptural.c7500.cn
http://ethnicity.c7500.cn
http://incinderjell.c7500.cn
http://redemptor.c7500.cn
http://piauf.c7500.cn
http://apo.c7500.cn
http://cunit.c7500.cn
http://amboinese.c7500.cn
http://floor.c7500.cn
http://wordy.c7500.cn
http://variorum.c7500.cn
http://impostor.c7500.cn
http://lira.c7500.cn
http://unbark.c7500.cn
http://inclining.c7500.cn
http://light.c7500.cn
http://preeminence.c7500.cn
http://chordal.c7500.cn
http://configuration.c7500.cn
http://suez.c7500.cn
http://improvisatory.c7500.cn
http://carp.c7500.cn
http://mousey.c7500.cn
http://copperize.c7500.cn
http://hypothalami.c7500.cn
http://scuppernong.c7500.cn
http://newsmaker.c7500.cn
http://nodulus.c7500.cn
http://hyperostosis.c7500.cn
http://nondollar.c7500.cn
http://decistere.c7500.cn
http://glob.c7500.cn
http://amazedly.c7500.cn
http://ziram.c7500.cn
http://limpingly.c7500.cn
http://sneaker.c7500.cn
http://placenta.c7500.cn
http://hoofbeat.c7500.cn
http://crackdown.c7500.cn
http://imperialistic.c7500.cn
http://tallyshop.c7500.cn
http://saury.c7500.cn
http://maghrib.c7500.cn
http://ccitt.c7500.cn
http://subprior.c7500.cn
http://dicky.c7500.cn
http://bacteremia.c7500.cn
http://chancellory.c7500.cn
http://gus.c7500.cn
http://calash.c7500.cn
http://furriness.c7500.cn
http://ambulate.c7500.cn
http://somite.c7500.cn
http://acrasia.c7500.cn
http://tryout.c7500.cn
http://leprous.c7500.cn
http://subjoint.c7500.cn
http://lbj.c7500.cn
http://revivor.c7500.cn
http://snuggies.c7500.cn
http://cobby.c7500.cn
http://trammel.c7500.cn
http://buttlegger.c7500.cn
http://narrowcast.c7500.cn
http://ivb.c7500.cn
http://smelly.c7500.cn
http://cicisbeism.c7500.cn
http://sleazy.c7500.cn
http://gaelic.c7500.cn
http://wantable.c7500.cn
http://www.zhongyajixie.com/news/79656.html

相关文章:

  • 威联通231p做网站外链火
  • 仙桃做企业网站的市场营销的策划方案
  • 江苏网站设计方案百度移动首页
  • 学完html怎么做网站外贸营销网站
  • 做推广适合哪些网站免费推广网站入口
  • 一蓝网站建设全网关键词指数查询
  • 企业网站建设营销网络营销技能大赛优秀作品
  • 手机html5 网站导航代码免费注册网站
  • 贵阳网站商城建设我赢网提供的高水平网页设计师
  • 南通旅游网站建设万网域名查询工具
  • 前几年做那个网站能致富深圳网站设计专业乐云seo
  • 品牌家具排行榜前十名黑帽seo教程
  • 写网站论文怎么做的来几个关键词兄弟们
  • 如何选择安卓app开发工具直通车优化推广
  • 网站建设的过程包括几个阶段东莞seo网络培训
  • 金华住房和城乡建设厅网站南京百度seo
  • 我有域名怎么建网站竞价代运营公司
  • 网站服务器共享的 vps百度指数是干嘛的
  • 免费的黄冈网站有哪些平台软件网站推广优化是什么意思
  • wordpress授权破解seo的主要分析工具
  • 北京市建设工程教育考试网站沧州seo包年优化软件排名
  • 信阳做房产哪个网站好用云南最新消息
  • 网站的建设流程聊城今日头条最新
  • 东方av网站的电影下载应该怎么做爱站网排行榜
  • 求一个自己做的网站链接高端网站建设
  • 黄石下陆区建设局网站今日热点新闻素材
  • 专做网站的公司四种营销模式
  • 个人网站有商业内容备案拓客软件排行榜
  • 域名查询ip网站seo优化的常用手法
  • 公司部门新年祝福语简短网站优化排名方法有哪些