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

梦幻西游网页版官方网站自己做的网站主页打开速度

梦幻西游网页版官方网站,自己做的网站主页打开速度,seo的基础优化,cfa一级看多久note 多模态大模型训练前#xff0c;图片数据处理的常见操作#xff1a;分辨率调整、网格畸变、水平翻转、分辨率调整、随机crop、换颜色、多张图片拼接、相似图片检测并去重等 一、分辨率调整 from PIL import Image def resize_image(original_image_path, save_image_p…note 多模态大模型训练前图片数据处理的常见操作分辨率调整、网格畸变、水平翻转、分辨率调整、随机crop、换颜色、多张图片拼接、相似图片检测并去重等 一、分辨率调整 from PIL import Image def resize_image(original_image_path, save_image_path, reduction_percentage):# 打开图片文件img Image.open(original_image_path)# 获取原始图片的尺寸original_width, original_height img.size# 计算新的尺寸根据减少的百分比new_width int(original_width * (1 - reduction_percentage / 100.0))new_height int(original_height * (1 - reduction_percentage / 100.0))# 使用LANCZOS滤镜来保持图片质量img_resized img.resize((new_width, new_height), Image.LANCZOS)# 如果图像有透明通道转换为RGB模式if img_resized.mode RGBA:img_resized img_resized.convert(RGB)# 保存缩小后的图片img_resized.save(save_image_path)# 示例 # 降低90%的分辨率 resize_image(one_image_path, resize_save_path, 90)二、适当裁剪图片 # 从中心裁剪图片(高分辨率) from PIL import Image def crop_image_by_percentage(crop_percentage, input_path, output_path):# 打开图片文件img Image.open(input_path)# 获取图片的原始尺寸original_width, original_height img.size# 计算裁剪区域的宽度和高度即原始尺寸的(100-crop_percentage)%crop_width int(original_width * (1 - crop_percentage / 100))crop_height int(original_height * (1 - crop_percentage / 100))# 计算裁剪区域的起始坐标left (original_width - crop_width) / 2top (original_height - crop_height) / 2right left crop_widthbottom top crop_height# 确保裁剪区域不超出图片边界left max(0, left)top max(0, top)right min(original_width, right)bottom min(original_height, bottom)# 裁剪图片cropped_img img.crop((left, top, right, bottom))# 如果图像有透明通道转换为RGB模式if cropped_img.mode RGBA:cropped_img cropped_img.convert(RGB)# 保存裁剪后的图片cropped_img.save(output_path)# 可以选择显示图片如果需要的话# cropped_img.show()# 裁剪掉40% crop_image_by_percentage(40, resize_save_path, crop_save_path)三、网格畸变、水平翻转、平移缩放、旋转 # 数据增强: 网格畸变、水平翻转、分辨率调整、随机crop、换颜色 import cv2 import albumentations as A import matplotlib.pyplot as plt# 读取图片 # image_path path/to/your/image.jpg image_path G9_7097.jpg image cv2.imread(image_path) image cv2.cvtColor(image, cv2.COLOR_BGR2RGB) # 转换为RGB# 定义数据增强管道 transform A.Compose([A.HorizontalFlip(p1), # 水平翻转# A.VerticalFlip(p0.5), # 垂直翻转# A.RandomRotate90(p0.5), # 随机旋转90度# A.Transpose(p0.5), # 交换行列(会旋转90度)# A.ShiftScaleRotate(shift_limit0.0625, scale_limit0.1, rotate_limit10, p1), # 平移、缩放、旋转A.OpticalDistortion(distort_limit0.05, shift_limit0.05, p0.5), # 光学畸变(颜色可能会改变)# A.GridDistortion(p0.5), # 网格畸变# A.ElasticTransform(alpha1, sigma50, alpha_affine50, p0.5) # 弹性变换(会有拉伸效果) ])# 应用数据增强 augmented transform(imageimage) augmented_image augmented[image] # 转换回BGR格式以便保存 augmented_image cv2.cvtColor(augmented_image, cv2.COLOR_RGB2BGR) # 保存处理后的图片 save_path save_G9_7097.jpg cv2.imwrite(save_path, augmented_image)# 显示原图和增强后的图片 fig, ax plt.subplots(1, 2, figsize(12, 6)) ax[0].imshow(image) ax[0].set_title(Original Image) ax[0].axis(off) ax[1].imshow(augmented_image) ax[1].set_title(Augmented Image) ax[1].axis(off) save_path G9_7097_diff.jpg plt.savefig(save_path) plt.show()我这里只是水平翻转如果需要用其他的旋转等操作可以修改albumentations.Compose里的参数。这里的水平翻转后的结果如下图 如果只需要翻转 def fanzhuan_func(image_path, save_path):import cv2import albumentations as Aimport matplotlib.pyplot as plt# 读取图片# image_path /Users/guomiansheng/Desktop/LLM/ChatGLM2-6B/a_data/a_xiaopeng/pic2nl/two_car/G9_7097.jpgimage cv2.imread(image_path)image cv2.cvtColor(image, cv2.COLOR_BGR2RGB) # 转换为RGB# 定义数据增强管道transform A.Compose([A.HorizontalFlip(p1) # 只进行水平翻转])# 应用数据增强augmented transform(imageimage)augmented_image augmented[image]# 转换回BGR格式以便保存或显示augmented_image_bgr cv2.cvtColor(augmented_image, cv2.COLOR_RGB2BGR)# 保存处理后的图片cv2.imwrite(save_path, augmented_image_bgr)四、改变图片的背景颜色 在上面的基础上修改transform即可 # 自定义变换函数改变背景颜色并使图像变淡 class LightenBackground(A.ImageOnlyTransform):def __init__(self, color(255, 255, 255), alpha0.5, always_applyFalse, p1.0):super().__init__(always_apply, p)self.color colorself.alpha alphadef apply(self, img, **params):# 创建与图像相同大小的纯色图像background np.full_like(img, self.color, dtypenp.uint8)# 混合图像和背景颜色return cv2.addWeighted(img, 1 - self.alpha, background, self.alpha, 0)# 读取图片 image cv2.imread(image_path) image cv2.cvtColor(image, cv2.COLOR_BGR2RGB) # 转换为RGB# 定义数据增强管道包括自定义的背景颜色变换 transform A.Compose([LightenBackground(color(255, 255, 0), alpha0.1, p1), # 淡黄色背景透明度为0.1 ])关于颜色的相关设定 1. 白色 LightenBackground(color(255, 255, 255), alpha0.3, p1)2. 黑色 LightenBackground(color(0, 0, 0), alpha0.3, p1)3. 红色 LightenBackground(color(255, 0, 0), alpha0.3, p1)4. 绿色 LightenBackground(color(0, 255, 0), alpha0.3, p1)5. 蓝色 LightenBackground(color(0, 0, 255), alpha0.3, p1)6. 黄色 LightenBackground(color(255, 255, 0), alpha0.3, p1)7. 青色 LightenBackground(color(0, 255, 255), alpha0.3, p1)8. 品红色 LightenBackground(color(255, 0, 255), alpha0.3, p1)9. 灰色 LightenBackground(color(128, 128, 128), alpha0.3, p1)10. 橙色 LightenBackground(color(255, 165, 0), alpha0.3, p1)五、图片相似度检测 ORB(Oriented FAST and Rotated BRIEF) 是一种计算机视觉中常用的特征检测算法,它将 FAST 关键点检测和 BRIEF 描述符生成结合起来同时引入了方向性和尺度不变性。使用 ORB 进行特征检测可以有以下几个应用: 目标识别:在多幅图像中检测相同的ORB 特征点,并通过这些点的匹配确定目标物体的位置和方向图像匹配:在两幅图像中检测 ORB 特征点,并通过这些点的匹配来确定它们之间的相似度,可以用于图像拼接、图像比较等任务三维重建:在多幅图像中检测 ORB 特征点,并根据这些点的位置和方向计算出相机位姿,可以用于三维重建和增强现实等应用。目标跟踪: 在视频中检测 ORB 特征点,并通过这些点的跟踪来确定目标的运动轨迹和速度。 import cv2def compute_orb_similarity(imageA_path, imageB_path):# 读取图片imageA cv2.imread(imageA_path)imageB cv2.imread(imageB_path)# 初始化ORB检测器orb cv2.ORB_create()# 寻找关键点和描述符keypointsA, descriptorsA orb.detectAndCompute(imageA, None)keypointsB, descriptorsB orb.detectAndCompute(imageB, None)# 初始化BFMatcherbf cv2.BFMatcher(cv2.NORM_HAMMING, crossCheckTrue)# 匹配描述符matches bf.match(descriptorsA, descriptorsB)# 按照距离排序matches sorted(matches, keylambda x: x.distance)# 计算匹配关键点数量num_matches len(matches)# 计算平均距离if num_matches 0:avg_distance sum(match.distance for match in matches) / num_matcheselse:avg_distance float(inf)# 计算匹配的比例ratio_matches num_matches / max(len(keypointsA), len(keypointsB))return num_matches, avg_distance, ratio_matches# 示例使用 imageA_path 奇瑞汽车_瑞虎8_SUV_蓝色_前方_苏LA006S_右前_32a.jpg imageB_path 奇瑞汽车_瑞虎8_SUV_银色_前方_湘FCG315_左前_35a.jpg # imageB_path 雷克萨斯_未知_SUV_白色_右边_鄂AS600T_右前_815.png # imageB_path 奥迪_未知_轿车_白色_前方_未知_左后_1.jpg num_matches, avg_distance, ratio_matches compute_orb_similarity(imageA_path, imageB_path)# 评估: 匹配的关键点数量和匹配比例越高平均距离越低表示图片之间的相似度越高。 # 三个指标计算匹配关键点数量、平均距离和匹配比例 print(fNumber of Matches: {num_matches}) print(fAverage Distance: {avg_distance}) print(fRatio of Matches: {ratio_matches:.2f})从上面结果可以验证还是有效的同是奇瑞汽车时会这个匹配的关键点数量和匹配比例为0.29如果是奇瑞和雷克萨斯则是0.26说明图片越不相似。 六、图片复制 def copy_func(source_folder, destination_folder, now_image, target_image):import osimport shutil# 定义源文件夹和目标文件夹# source_folder path/to/a# destination_folder path/to/b# 确保目标文件夹存在如果不存在则创建os.makedirs(destination_folder, exist_okTrue)# 构建源文件路径和目标文件路径source_file os.path.join(source_folder, now_image)destination_file os.path.join(destination_folder, target_image)# 复制文件try:shutil.copy2(source_file, destination_file)print(fCopied {source_file} to {destination_file})except FileNotFoundError:print(fFile {source_file} not found.)except Exception as e:print(fAn error occurred: {e})print(File copy operation completed.)七、拼接多张图片 这里一般还有个要求如果是横向水平拼接一般将所有图片调整为所有图片中最小的高度进行等比例缩放 # 按照最小高度对不同图片进行等比例缩放 from PIL import Image import matplotlib.pyplot as plt import osdef resize_images_to_same_height(image_paths, target_height):resized_images []for image_path in image_paths:image Image.open(image_path)# Calculate the new width to maintain the aspect ratioaspect_ratio image.width / image.heightnew_width int(target_height * aspect_ratio)# Resize the imageresized_image image.resize((new_width, target_height), Image.Resampling.LANCZOS)resized_images.append(resized_image)return resized_imagesdef concatenate_images_horizontally(images, output_path):# Find the total width of the final imagetotal_width sum(image.width for image in images)# Find the maximum height (all images have the same height after resizing)max_height images[0].height# Create a new image with the appropriate sizeconcatenated_image Image.new(RGB, (total_width, max_height))# Paste each image into the new imagecurrent_x 0for image in images:concatenated_image.paste(image, (current_x, 0))current_x image.width# Display the concatenated imagedisplay(concatenated_image)# Save the concatenated imageconcatenated_image.save(output_path)# 获取文件夹中的图片路径 folder_path /a_ex_all_pinpai_car/ files os.listdir(folder_path) image_paths [os.path.join(folder_path, file) for file in files if file.endswith((jpg, jpeg, png))]# 动态确定目标高度最小高度 heights [Image.open(image_path).height for image_path in image_paths] target_height min(heights)# Resize images to the same height resized_images resize_images_to_same_height(image_paths, target_height)# 输出路径 output_path os.path.join(folder_path, concatenated_image.jpg)# Concatenate images horizontally concatenate_images_horizontally(resized_images, output_path)这里拼接后的结果如下图 Reference [1] 计算两幅图像的相似度PSNR、SSIM、MSE、余弦相似度、MD5、直方图、互信息、Hash 代码实现 与举例
http://www.pierceye.com/news/730098/

相关文章:

  • 造价工程师网网站点击排名优化
  • 网站关键词搜索海口网站建设优化公司
  • WordPress建影视站免费的素材网站有哪些
  • 屯留做网站哪里好阿里云服务器618
  • 网站怎么做登录模块免费的编程软件下载
  • 网站建设与管理的策划书网站建设五合一
  • 网站建设管理分工公司招聘网站有哪些
  • 分类信息网站手机版上海网站关键词优化方法
  • 建设个人网站的参考网站及文献怎么做水果网站
  • 台山住房和城乡建设 网站有赞分销
  • 网站备案 历史wordpress货币插件
  • 如何做自助搜券网站佛山顺德专业做网站
  • 义乌网站制作多少钱工会网站建设
  • 六安高端网站建设公司开网店的流程步骤
  • 网站被墙301怎么做展馆展厅设计效果图
  • 唐山市城市建设规划局网站大兴做网站公司
  • 陕西做网站的公司地址克拉玛依市住房和建设局网站
  • 做电影网站 广告收入怎么知道网站被k
  • 开发企业网站费用深圳宝安seo
  • 算命公司网站建设制作开发方案教育培训机构招生网站建设
  • 织梦做网站被告全椒网站建设
  • 安卓网站开发平台互联网工具型网站
  • 如何建设国外的网站联盟营销网站有哪些
  • 微信怎么创建微信公众号seo应该如何做
  • 北京php网站制作网站群建设思路
  • 企业建设网站的必要性小程序平台介绍怎么写
  • 网站界面设计应该遵循的原则贵州省住房和城乡建设厅网站报名网
  • 南昌建设医院官方网站国外做外链常用的网站
  • 淘宝店采用哪些方法做网站推广专门做网站的软件
  • 网站的ftp怎么查中国视觉设计网