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

知名网站定制公司电话网站开发一般用什么技术

知名网站定制公司电话,网站开发一般用什么技术,优化推广方案,网站的优化方法有哪些内容将分割的mask转换为分割标签通常涉及将每个像素的类别标识#xff08;在mask中以不同的灰度值或颜色表示#xff09;转换为整数标签。这些标签通常用于机器学习或深度学习模型的训练、验证和测试阶段。 使用方式#xff0c;控制台或者命令行使用以下命令#xff1a; pyth…将分割的mask转换为分割标签通常涉及将每个像素的类别标识在mask中以不同的灰度值或颜色表示转换为整数标签。这些标签通常用于机器学习或深度学习模型的训练、验证和测试阶段。 使用方式控制台或者命令行使用以下命令 python polygon_mask_conversion.py --img_path xxx_folder --mask_path xxx_folder --mode mask2poly 转换代码来自X_anyLabeling的tool文件夹下的转换文件。 import argparse import json import os import time import cv2from PIL import Image from tqdm import tqdm from datetime import dateimport numpy as np import matplotlib as pltimport syssys.path.append(./) from anylabeling.app_info import __version__# Usage # # # # -------------------------------------------------------------------- mask2poly ----------------------------------------------------------------------# # python tools/polygon_mask_conversion.py --img_path xxx_folder --mask_path xxx_folder --mode mask2poly # # # # -------------------------------------------------------------------- poly2mask ----------------------------------------------------------------------# # [option1] python tools/polygon_mask_conversion.py --img_path xxx_folder --mask_path xxx_folder --mode poly2mask # # [option2] python tools/polygon_mask_conversion.py --img_path xxx_folder --mask_path xxx_folder --json_path xxx_folder --mode poly2mask # # # # Usage #VERSION __version__ IMG_FORMATS [.bmp,.dng,.jpeg,.jpg,.mpo,.png,.tif,.tiff,.webp,.pfm, ]class PolygonMaskConversion:def __init__(self, epsilon_factor0.001):self.epsilon_factor epsilon_factordef reset(self):self.custom_data dict(versionVERSION,flags{},shapes[],imagePath,imageDataNone,imageHeight-1,imageWidth-1,)def get_image_size(self, image_file):with Image.open(image_file) as img:width, height img.sizereturn width, heightdef mask_to_polygon(self, img_file, mask_file, json_file):self.reset()binary_mask cv2.imread(mask_file, cv2.IMREAD_GRAYSCALE)contours, _ cv2.findContours(binary_mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)for contour in contours:epsilon self.epsilon_factor * cv2.arcLength(contour, True)approx cv2.approxPolyDP(contour, epsilon, True)if len(approx) 5:continueshape {label: object,text: ,points: [],group_id: None,shape_type: polygon,flags: {},}for point in approx:x, y point[0].tolist()shape[points].append([x, y])self.custom_data[shapes].append(shape)image_width, image_height self.get_image_size(img_file)self.custom_data[imagePath] os.path.basename(img_file)self.custom_data[imageHeight] image_heightself.custom_data[imageWidth] image_widthwith open(json_file, w, encodingutf-8) as f:json.dump(self.custom_data, f, indent2, ensure_asciiFalse)def polygon_to_mask(self, img_file, mask_file, json_file):with open(json_file, r) as f:data json.load(f)polygons []for shape in data[shapes]:points shape[points]polygon []for point in points:x, y pointpolygon.append((x, y))polygons.append(polygon)image_width, image_height self.get_image_size(img_file)image_shape (image_height, image_width)binary_mask np.zeros(image_shape, dtypenp.uint8)for polygon_points in polygons:np_polygon np.array(polygon_points, np.int32)np_polygon np_polygon.reshape((-1, 1, 2))cv2.fillPoly(binary_mask, [np_polygon], color255)cv2.imwrite(mask_file, binary_mask)def main():parser argparse.ArgumentParser(descriptionPolygon Mask Conversion)parser.add_argument(--img_path, helpPath to image directory)parser.add_argument(--mask_path, helpPath to mask directory)parser.add_argument(--json_path, default, helpPath to json directory)parser.add_argument(--epsilon_factor,default0.001,typefloat,helpControl the level of simplification when converting a polygon contour to a simplified version,)parser.add_argument(--mode,choices[mask2poly, poly2mask],requiredTrue,helpChoose the conversion mode what you need,)args parser.parse_args()print(fStarting conversion to {args.mode}...)start_time time.time()converter PolygonMaskConversion(args.epsilon_factor)if args.mode mask2poly:file_list os.listdir(args.mask_path)for file_name in tqdm(file_list, descConverting files, unitfile, colourblue):img_file os.path.join(args.img_path, file_name)mask_file os.path.join(args.mask_path, file_name)json_file os.path.join(args.img_path, os.path.splitext(file_name)[0] .json)converter.mask_to_polygon(img_file, mask_file, json_file)elif args.mode poly2mask:# Only binary mask transformations are supported.os.makedirs(args.mask_path, exist_okTrue)file_list os.listdir(args.img_path)for file_name in tqdm(file_list, descConverting files, unitfile, colourblue):base_name, suffix os.path.splitext(file_name)if suffix.lower() not in IMG_FORMATS:continueimg_file os.path.join(args.img_path, file_name)if not args.json_path:json_file os.path.join(args.img_path, base_name .json)else:json_file os.path.join(args.json_path, base_name .json)mask_file os.path.join(args.mask_path, base_name .png)converter.polygon_to_mask(img_file, mask_file, json_file)end_time time.time()print(fConversion completed successfully!)print(fConversion time: {end_time - start_time:.2f} seconds)if __name__ __main__:main()
http://www.hkea.cn/news/14488905/

相关文章:

  • 做电脑系统那个网站好点龙岗网站建设电话
  • 网站建设芜湖房地产网站设计
  • 企业网站服务器多少钱seo好学吗入门怎么学
  • 建立一个国外的网站小白一步步做网站
  • 网站上的网站地图怎么做聊天网站站怎么做
  • 建设银行园区公积金管理中心网站建设公司网站的原则
  • 重庆市公司网站备案在哪了wordpress做产品页教程视频
  • 怎么做免费的网站推广王野天 演员
  • 网站排名怎么做上去衣柜全屋定制排名
  • 保定 网站制作wordpress 会员支付
  • 网站的推广平台有哪些国外网站设计风格
  • 头条网站怎么做的wordpress代码转义
  • 制造业小程序网站开发广告公司简介模板免费
  • 设计logo网站推荐书店网站建设
  • 甘州区建设局网站网站免费做招生宣传语
  • 网络班级网站建设交友app搭建
  • 注册网站会员 我们的信息外贸询单
  • 建设网站需要考虑什么电器工程东莞网站建设
  • 最好的网站建设公司网站内容规划怎么写
  • 做商务网站要多少钱长春搜索引擎优化
  • asp网站如何迁移给别人做网站必须有icp
  • 做网站用vps还是虚拟主机哪里有学市场营销培训班
  • 万网域名解析地址旺道seo系统
  • 保定市网站设计wordpress评论头像插件
  • 网站的外链建设计划做网站要需要多少钱
  • 自己做的网站为什么不显示图片做IPv6网站升级的公司有哪些
  • 商城网站建设步骤德州网架公司
  • 自己的电脑做网站空间视屏村建站全称
  • 怎么知道网站的空间服务商山西高端网站建设
  • 本地wordpress建站兰州网络推广优化服务