python 进阶教程--PIL图像处理

PIL图像处理

  • 1. Pillow库简介
  • 2. 图像处理基础
  • 3. 图像操作
  • 4. 图像增强
  • 5. 图像处理进阶
  • 6. 图像绘制
  • 7. 图像序列和动画
  • 8. 图像识别和特征提取
  • 9. 实战项目
  • 10. 常见问题解答

1. Pillow库简介

  • PIL与Pillow的关系
    PIL(Python Imaging Library)是一个提供图像处理功能的Python库,但由于多年没有更新,它已经不再维护。Pillow是PIL的一个活跃的、兼容的分支,它添加了许多新功能和改进,同时修复了现有的一些问题。Pillow是目前在Python中进行图像处理的标准库。
  • 安装Pillow库
    pip install Pillow
    
    通过上述命令,可以使用pip包管理器安装Pillow库。在安装过程中,确保您的Python环境已经配置好,并且pip是最新版本。
  • Pillow支持的主要图像格式
    Pillow支持多种图像格式,包括但不限于:
    • PNG(Portable Network Graphics)
    • JPEG(Joint Photographic Experts Group)
    • BMP(Bitmap)
    • GIF(Graphics Interchange Format)
    • TIFF(Tagged Image File Format)
    • WebP(Google’s image format)
      Pillow还支持一些特殊的图像模式,如1位像素、RGB、RGBA等。
      以下是一个简单的代码示例,展示如何使用Pillow库打开和显示一个图像文件:
from PIL import Image
# 打开一个图像文件
image = Image.open('example.jpg')
# 显示图像
image.show()

在这个例子中,我们首先导入了Pillow库的Image模块,然后使用Image.open()函数打开了一个名为example.jpg的图像文件,并使用show()方法显示了图像。这只是一个非常基础的例子,Pillow库提供了更多高级的功能,我们将在后续的章节中详细介绍。


2. 图像处理基础

  • 打开和显示图像
    要打开和显示图像,您可以使用Pillow的Image类和show方法。
    from PIL import Image
    # 打开一个图像文件
    image = Image.open('example.jpg')
    # 显示图像
    image.show()
    
  • 图像的属性
    图像的属性包括尺寸、模式等,可以通过属性访问或方法获取。
    # 获取图像的尺寸
    width, height = image.size
    # 获取图像的模式(如RGB, RGBA, L等)
    mode = image.mode
    print(f"Width: {width}, Height: {height}, Mode: {mode}")
    
  • 图像的读取和保存
    Pillow允许您读取图像到内存,并将其保存到文件系统。
    # 读取图像
    image = Image.open('example.jpg')
    # 保存图像到另一个文件
    image.save('example.png')
    # 指定格式和参数保存图像
    image.save('example.png', 'PNG', quality=95)
    
  • 图像格式转换
    使用Pillow可以轻松地将图像转换为不同的格式。
    # 打开一个图像文件
    image = Image.open('example.jpg')
    # 转换图像格式到PNG
    image.save('example.png', 'PNG')
    

这些代码示例展示了如何使用Pillow库来执行基本的图像处理任务,如打开、显示、读取、保存和转换图像格式。这些是进一步学习Pillow库更高级功能的基础。


3. 图像操作

在这一部分,我们将学习如何使用Pillow库进行基本的图像操作,包括裁剪和粘贴图像区域、图像的几何变换、以及调整图像颜色。

  • 裁剪和粘贴图像区域
    裁剪图像是指从原始图像中提取一个矩形区域。粘贴操作可以将裁剪后的图像或其他图像粘贴到另一个图像上。
    from PIL import Image
    # 打开一个图像文件
    image = Image.open('example.jpg')
    # 裁剪图像区域
    cropped_image = image.crop((50, 50, 200, 200))
    # 粘贴图像
    image.paste(cropped_image, (100, 100))
    # 显示图像
    image.show()
    
  • 图像几何变换
    图像几何变换包括放大、缩小、旋转和翻转等操作。
    # 放大图像
    enlarged_image = image.resize((400, 400))
    # 旋转图像
    rotated_image = image.rotate(45)
    # 翻转图像
    flipped_image = image.transpose(Image.FLIP_LEFT_RIGHT)
    # 显示旋转后的图像
    rotated_image.show()
    
  • 调整图像颜色
    可以调整图像的亮度、对比度和饱和度,也可以转换色彩模式。
    from PIL import ImageEnhance
    # 调整亮度
    enhancer = ImageEnhance.Brightness(image)
    brighter_image = enhancer.enhance(1.5)
    # 调整对比度
    enhancer = ImageEnhance.Contrast(image)
    contrast_image = enhancer.enhance(2.0)
    # 色彩模式转换(例如,转换为灰度图像)
    grayscale_image = image.convert('L')
    # 显示更亮的图像
    brighter_image.show()
    

这些代码示例展示了如何使用Pillow库进行图像裁剪、粘贴、几何变换和颜色调整。通过这些操作,您可以有效地编辑和改进图像。


4. 图像增强

在这一部分,我们将学习如何使用Pillow库进行图像增强,包括应用滤镜和效果、使用ImageFilter模块以及一些图像增强技巧。

  • 滤镜和效果
    Pillow提供了一系列预定义的滤镜,可以直接应用于图像。
    from PIL import Image, ImageFilter
    # 打开一个图像文件
    image = Image.open('example.jpg')
    # 应用模糊滤镜
    blurred_image = image.filter(ImageFilter.BLUR)
    # 应用边缘增强滤镜
    enhanced_image = image.filter(ImageFilter.EDGE_ENHANCE)
    # 显示模糊后的图像
    blurred_image.show()
    
  • 图像增强技巧
    可以通过调整亮度、对比度、饱和度等来增强图像。
    from PIL import ImageEnhance
    # 调整亮度
    brightener = ImageEnhance.Brightness(image)
    brighter_image = brightener.enhance(1.5)  # 提高亮度
    # 调整对比度
    contrast = ImageEnhance.Contrast(image)
    more_contrast_image = contrast.enhance(2.0)  # 提高对比度
    # 显示亮度增强后的图像
    brighter_image.show()
    
  • 使用ImageFilter模块
    ImageFilter模块提供了多种滤镜,可以通过filter方法应用到图像上。
```python# 应用轮廓查找滤镜
contour_image = image.filter(ImageFilter.CONTOUR)# 应用细节增强滤镜detail_image = image.filter(ImageFilter.DETAIL)# 显示轮廓查找后的图像contour_image.show()```

这些代码示例展示了如何使用Pillow库中的不同方法来增强图像。通过这些增强技术,可以改善图像的外观,使其更适合特定的应用或审美需求。


5. 图像处理进阶

在这一部分,我们将学习一些更高级的图像处理技术,包括图像通道操作、使用图像蒙版和alpha通道、图像的数学运算、图像直方图以及图像二值化。

  • 图像通道操作
    Pillow允许您单独操作图像的通道,例如红色、绿色或蓝色通道。
    from PIL import Image
    # 打开一个图像文件
    image = Image.open('example.jpg')
    # 分离图像通道
    r, g, b = image.split()
    # 显示红色通道图像
    r.show()
    
  • 图像蒙版和alpha通道
    图像蒙版可以用来控制图像的透明度或选择性地显示图像的一部分。
    from PIL import Image
    # 创建一个蒙版图像
    mask = Image.new('L', image.size, 0)
    draw = ImageDraw.Draw(mask)
    draw.ellipse((50, 50, 150, 150), fill=255)
    # 应用蒙版
    image.putalpha(mask)
    # 显示带蒙版的图像
    image.show()
    
  • 图像的数学运算
    您可以对图像进行各种数学运算,如加法、减法、乘法和除法。
    from PIL import Image
    # 打开两个图像文件
    image1 = Image.open('example1.jpg')
    image2 = Image.open('example2.jpg')
    # 对图像进行加法运算
    added_image = ImageChops.add(image1, image2)
    # 显示加法运算后的图像
    added_image.show()
    
  • 图像直方图
    图像直方图显示了图像中每个亮度值的像素数量。
    from PIL import Image
    # 打开一个图像文件
    image = Image.open('example.jpg')
    # 计算图像的直方图
    histogram = image.histogram()
    # 打印直方图
    print(histogram)
    
  • 图像二值化
    图像二值化是将图像转换为仅包含两种颜色的图像,通常用于简化图像内容。
    from PIL import Image
    # 打开一个图像文件
    image = Image.open('example.jpg')
    # 转换图像为灰度
    gray_image = image.convert('L')
    # 应用二值化阈值
    threshold = 128
    binary_image = gray_image.point(lambda p: p > threshold and 255)
    # 显示二值化后的图像
    binary_image.show()
    

这些代码示例展示了如何使用Pillow库进行高级图像处理操作。通过这些技术,您可以更深入地编辑和分析图像。


6. 图像绘制

在这一部分,我们将学习如何使用Pillow库在图像上进行绘制,包括绘制几何形状、文字以及进行其他绘图操作。

  • 绘制几何形状
    Pillow允许您在图像上绘制矩形、椭圆、线条和多边形等几何形状。

    from PIL import Image, ImageDraw
    # 打开一个图像文件
    image = Image.open('example.jpg')
    # 创建一个绘图对象
    draw = ImageDraw.Draw(image)
    # 绘制一个矩形
    draw.rectangle([(50, 50), (200, 200)], fill='red')
    # 显示绘图后的图像
    image.show()
    
  • 文字绘制
    您可以使用Pillow在图像上绘制文本,并设置字体、大小、颜色等属性。

    from PIL import Image, ImageDraw, ImageFont
    # 打开一个图像文件
    image = Image.open('example.jpg')
    # 加载字体文件
    font = ImageFont.truetype('arial.ttf', 36)
    # 创建一个绘图对象
    draw = ImageDraw.Draw(image)
    # 在图像上绘制文本
    draw.text((100, 100), 'Hello, World!', font=font, fill='blue')
    # 显示绘图后的图像
    image.show()
    
  • 图像上的绘图操作
    除了几何形状和文字,您还可以在图像上绘制点、曲线等。

    from PIL import Image, ImageDraw
    # 打开一个图像文件
    image = Image.open('example.jpg')
    # 创建一个绘图对象
    draw = ImageDraw.Draw(image)
    # 绘制一系列点
    points = [(100, 100), (200, 200), (300, 300)]
    draw.point(points, fill='red')
    # 显示绘图后的图像
    image.show()
    
  • 绘制菱形

    这些代码示例展示了如何使用Pillow库在图像上进行绘制。通过这些技术,您可以为图像添加各种装饰性元素或标记。
    在PIL(Pillow)库中,绘制菱形需要使用ImageDraw模块中的polygon方法。这个方法接受一个顶点列表作为参数,其中每个顶点是一个元组,包含x和y坐标。对于一个菱形,我们需要知道它的中心点以及顶点的半径。
    以下是一个使用Pillow绘制菱形的示例代码:

from PIL import Image, ImageDraw
# 创建一个空白的图像
width, height = 500, 500
image = Image.new('RGB', (width, height), color='white')
# 创建一个绘图对象
draw = ImageDraw.Draw(image)
# 定义菱形的中心点和半径
center_x, center_y = width // 2, height // 2
radius = 100
# 计算菱形的四个顶点
# 菱形的对角线是垂直的,所以我们可以从中心点出发,向上下两侧各延伸半径的距离
top_left = (center_x - radius, center_y - radius)
top_right = (center_x + radius, center_y - radius)
bottom_left = (center_x - radius, center_y + radius)
bottom_right = (center_x + radius, center_y + radius)
# 绘制菱形
draw.polygon([top_left, top_right, bottom_right, bottom_left], fill='red')
# 显示图像
image.show()

在这个代码中,我们首先创建了一个500x500像素的空白图像,并使用ImageDraw.Draw创建了一个绘图对象。然后,我们定义了菱形的中心点和半径,并计算了四个顶点的坐标。最后,我们使用polygon方法绘制了菱形,并将其填充为红色。
运行这段代码,你应该会在屏幕上看到一个红色的菱形。


7. 图像序列和动画

在这一部分,我们将学习如何使用Pillow库处理图像序列,以及如何创建GIF动画。

  • 处理图像序列
    图像序列是一系列连续的图像,它们可以用来创建动画或视频。
    from PIL import Image, ImageSequence
    # 打开一个GIF文件
    gif = Image.open('example.gif')
    # 获取图像序列
    frames = ImageSequence.Iterator(gif)
    # 显示前几帧
    for frame in frames:frame.show()print(f"Frame {frames.index(frame)}")
    
  • 创建GIF动画
    您可以使用Pillow创建一个GIF动画,它将保存一系列连续的图像帧。
    from PIL import Image
    # 创建一个空图像,用于保存动画帧
    image = Image.new('RGB', (200, 200), color='white')
    # 创建一个绘图对象
    draw = ImageDraw.Draw(image)
    # 绘制多个帧
    for i in range(10):draw.rectangle([(50, 50), (150, 150)], fill=i % 2 * 255, width=0)image.save(f'frame_{i}.png')
    # 创建GIF动画
    frames = [Image.open(f'frame_{i}.png') for i in range(10)]
    frames[0].save('example_animation.gif', format='GIF', append_images=frames[1:], save_all=True, duration=500, loop=0)
    

这些代码示例展示了如何使用Pillow库处理图像序列和创建GIF动画。通过这些技术,您可以创建具有连续动作的图像序列。


8. 图像识别和特征提取

在这一部分,我们将学习如何使用Pillow库进行基本的图像识别和特征提取。虽然Pillow本身并不直接提供图像识别功能,但我们可以利用其强大的图像处理能力来辅助其他图像识别库或系统。

  • 基本特征提取
    特征提取是从图像中提取有用的信息的过程。这通常涉及计算图像的统计特性,如颜色直方图、边缘检测等。
    from PIL import Image
    from PIL import ImageDraw
    # 打开一个图像文件
    image = Image.open('example.jpg')
    # 计算图像的灰度直方图
    histogram = image.histogram()
    # 显示灰度直方图
    print(histogram)
    # 计算图像的边缘
    edges = image.filter(ImageFilter.FIND_EDGES)
    # 显示边缘检测后的图像
    edges.show()
    
  • 使用Pillow进行图像识别的简单示例
    我们可以使用Pillow来准备图像数据,然后将其传递给其他图像识别库,如OpenCV或TensorFlow。
    from PIL import Image
    import numpy as np
    import cv2
    # 打开一个图像文件
    image = Image.open('example.jpg')
    # 将Pillow图像转换为NumPy数组
    pil_image = np.array(image)
    # 将图像转换为灰度
    gray_image = cv2.cvtColor(pil_image, cv2.COLOR_BGR2GRAY)
    # 使用OpenCV进行图像识别
    # 例如,使用SIFT特征检测器
    sift = cv2.SIFT_create()
    keypoints = sift.detect(gray_image, None)
    descriptors = sift.compute(gray_image, keypoints)
    # 显示关键点和描述符
    cv2.drawKeypoints(pil_image, keypoints, None, flags=cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)
    cv2.imshow('Keypoints', pil_image)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    
    这些代码示例展示了如何使用Pillow进行基本的图像特征提取,并将其用于图像识别。通过这些技术,您可以为图像识别任务准备数据。

9. 实战项目

在这一部分,我们将通过一些实际项目来应用我们学到的Pillow库的知识。

  • 图像批量处理脚本
    使用Pillow批量处理图像,例如调整大小、转换格式或添加水印。
    from PIL import Image
    import os
    # 定义处理图像的函数
    def process_image(image_path, output_folder):image = Image.open(image_path)# 进行处理(例如,调整大小)processed_image = image.resize((200, 200))# 保存处理后的图像processed_image_path = os.path.join(output_folder, os.path.basename(image_path))processed_image.save(processed_image_path)
    # 指定输入文件夹和输出文件夹
    input_folder = 'input_images'
    output_folder = 'processed_images'
    # 遍历输入文件夹中的所有图像
    for filename in os.listdir(input_folder):if filename.endswith('.jpg') or filename.endswith('.png'):full_path = os.path.join(input_folder, filename)process_image(full_path, output_folder)
    
  • 图像水印添加
    为图像添加水印,可以是文字、图像或两者结合。
    from PIL import Image, ImageDraw, ImageFont
    # 打开一个图像文件
    image = Image.open('example.jpg')
    # 加载字体文件
    font = ImageFont.truetype('arial.ttf', 36)
    # 创建一个绘图对象
    draw = ImageDraw.Draw(image)
    # 在图像上绘制文本水印
    draw.text((100, 100), 'Watermark', font=font, fill='blue')
    # 显示添加水印后的图像
    image.show()
    
  • 图像拼接和全景图制作
    使用Pillow将多个图像拼接在一起以创建全景图。
    from PIL import Image
    # 打开一系列图像文件
    images = [Image.open(f'image_{i}.jpg') for i in range(1, 5)]
    # 创建一个足够大的图像来拼接所有图像
    combined_image = Image.new('RGB', (sum(image.width for image in images), max(image.height for image in images)))
    # 遍历图像并将其拼接到组合图像中
    y_offset = 0
    for image in images:combined_image.paste(image, (0, y_offset))y_offset += image.height
    # 显示拼接后的图像
    combined_image.show()
    
  • 图像识别应用案例
    使用Pillow库来帮助其他图像识别库或系统进行图像识别。
    from PIL import Image
    import numpy as np
    import cv2
    # 打开一个图像文件
    image = Image.open('example.jpg')
    # 将Pillow图像转换为NumPy数组
    pil_image = np.array(image)
    # 将图像转换为灰度
    gray_image = cv2.cvtColor(pil_image, cv2.COLOR_BGR2GRAY)
    # 使用OpenCV进行图像识别
    # 例如,使用SIFT特征检测器
    sift = cv2.SIFT_create()
    keypoints = sift.detect(gray_image, None)
    descriptors = sift.compute(gray_image, keypoints)
    # 显示关键点和描述符
    cv2.drawKeypoints(pil_image, keypoints, None, flags=cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)
    cv2.imshow('Keypoints', pil_image)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    

10. 常见问题解答

在这一部分,我们将探讨在使用Pillow库时可能遇到的一些常见问题,并提供解决方案。

  • 错误和异常处理
    Pillow在处理图像时可能会遇到各种错误和异常。了解如何处理这些错误是使用Pillow库的重要部分。
    try:image = Image.open('example.jpg')# 进行图像处理
    except IOError:print("无法打开图像文件。")
    except ValueError:print("图像文件格式不正确。")
    except Exception as e:print(f"未知错误:{e}")
    
  • 性能优化
    当处理大量图像或执行复杂的图像处理操作时,性能可能会成为一个问题。了解如何优化Pillow的性能对于提高工作效率至关重要。
    from PIL import Image
    import os
    # 定义处理图像的函数
    def process_image(image_path, output_folder):image = Image.open(image_path)# 进行处理(例如,调整大小)processed_image = image.resize((200, 200))# 保存处理后的图像processed_image_path = os.path.join(output_folder, os.path.basename(image_path))processed_image.save(processed_image_path)
    # 指定输入文件夹和输出文件夹
    input_folder = 'input_images'
    output_folder = 'processed_images'
    # 创建一个线程池来处理图像
    from concurrent.futures import ThreadPoolExecutor
    with ThreadPoolExecutor(max_workers=4) as executor:for filename in os.listdir(input_folder):if filename.endswith('.jpg') or filename.endswith('.png'):full_path = os.path.join(input_folder, filename)executor.submit(process_image, full_path, output_folder)
    
  • 图像质量与文件大小
    在处理图像时,保持图像质量与控制文件大小是一个平衡的问题。了解如何优化这两个方面可以帮助您更好地使用Pillow库。
    from PIL import Image
    # 打开一个图像文件
    image = Image.open('example.jpg')
    # 调整图像质量
    image.save('example_low_quality.jpg', quality=50)
    # 调整图像大小
    image.resize((100, 100)).save('example_smaller.jpg')
    

这些代码示例展示了如何处理使用Pillow库时可能遇到的一些常见问题。通过这些技术,您可以更好地使用Pillow库,并解决在使用过程中遇到的问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/43370.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【云原生之kubernetes实战】在k8s环境下部署OrangeHRM人力资源管理系统

【云原生之kubernetes实战】在k8s环境下部署OrangeHRM人力资源管理系统 一、OrangeHRM介绍1.1 OrangeHRM 简介1.2 OrangeHRM特点1.3 OrangeHRM使用场景二、相关知识介绍2.1 本次实践存储介绍2.2 k8s存储介绍三、本次实践介绍3.1 本次实践简介3.2 本次环境规划3.3 部署前需准备工…

bash终端快捷键

快捷键作用ShiftCtrlC复制ShiftCtrlV粘贴CtrlAltT新建终端ShiftPgUp/PgDn终端上下翻页滚动CtrlC终止命令CtrlD关闭终端CtrlA光标移动到最开始为止CtrlE光标移动到最末尾CtrlK删除此处到末尾的所有内容CtrlU删除此处至开始的所有内容CtrlD删除当前字符CtrlH删除当前字符的前一个…

Perl 语言开发(十):正则表达式,掌握强大文本处理的利器

目录 1. 正则表达式概述 2. 基础正则表达式语法 2.1 字符和字符类 2.2 预定义字符类 2.3 量词 2.4 分组和捕获 2.5 反向引用 3. Perl 中的正则表达式操作 3.1 匹配操作 3.2 替换操作 3.3 分割操作 4. 正则表达式的高级特性 4.1 非捕获分组 4.2 前瞻和后顾 4.3 负…

Hugging face Transformers(4)—— Model

Hugging Face 是一家在 NLP 和 AI 领域具有重要影响力的科技公司,他们的开源工具和社区建设为NLP研究和开发提供了强大的支持。它们拥有当前最活跃、最受关注、影响力最大的 NLP 社区,最新最强的 NLP 模型大多在这里发布和开源。该社区也提供了丰富的教程…

【Bug优化】支付宝支付中“交易订单处理失败,请稍后再试”问题

引言 近期,一位友友问:他在集成支付宝支付功能时遇到了一个棘手的问题,当用户在支付过程中选择放弃支付,尝试重新支付同一订单时,前端会显示“交易订单处理失败,请稍后再试”。 这个问题的核心在于支…

文章SameStr(一):图1代码

“Publication Figure 1” 百度云盘链接: https://pan.baidu.com/s/15g7caZp354zIWktpnWzWhQ 提取码: 4sh7 Libraries Standard Import library(tidyverse) library(cowplot) library(scales) library(ggpubr)Special # devtools::install_github("pmartinezarbizu/…

linux 代理export

export http_proxyhttp://10.67.11.138:7890 export https_proxyhttp://10.67.11.138:7890

大/小端模式与位操作

文章目录 1. 大小端模式 2. 大端模式(Big-endian) 3. 小端模式(Little Endian) 4. 判断和转换大小端模式 5. 位操作 5.1 移位操作 5.2 取反操作 5.3 位与操作 5.4 位或操作 5.5 置位操作 5.6 清位操作 1. 大小端模式 …

大数据学习之 scala基础(补充)

scala基础: hello world: 写scala可运行文件的注意事项1、如果一个scala文件要运行,class要改成object2、如果是class,就仅单纯代表一个类,如果是object代表的是单例对象3、scala语法中,一句话结束不需要加分号4、sca…

Spring的AOP基础以及AOP的核心概念

2. AOP基础 学习完spring的事务管理之后,接下来我们进入到AOP的学习。 AOP也是spring框架的第二大核心,我们先来学习AOP的基础。 在AOP基础这个阶段,我们首先介绍一下什么是AOP,再通过一个快速入门程序,让大家快速体…

Ubuntu配置GitHub(第一次clone/push)

文章目录 1. 安装Git&检查连接2. 注册GitHub3. 生成&GitHub添加SSH3.1. 检查&删除已有id_rsa3.2. 生成SSH3.3. GitHub添加id_rsa.pub SSH3.4. 检查SSH 4. 继续开发可以参考参考 1. 安装Git&检查连接 安装 sudo apt-get install git检查SSH连接 ssh -T gitgi…

【工具分享】零零信安攻击面管理平台

文章目录 00SEC-ASM™功能介绍功能演示 最近闲来无事,到处网上冲浪,无意间发现了长亭云图攻击面管理平台,无奈需要授权才能使用,于是就找到了平替:零零信安攻击面管理平台。 长亭云图攻击面管理平台:https:…

vue2封装向上滚动组件

目录 1.代码2.使用 1.代码 <template><div class"marquee-wrap" :style"{height: height px}"><ul class"marquee-list":style"animateUpStyle"v-on:mouseover"myMouseover"v-on:mouseout"myMouseout…

工厂方法模式在金融业务中的应用及其框架实现

引言 工厂方法模式&#xff08;Factory Method Pattern&#xff09;是一种创建型设计模式&#xff0c;它定义了一个创建对象的接口&#xff0c;但由子类决定实例化哪一个类。工厂方法模式使得类的实例化延迟到子类。在金融业务中&#xff0c;工厂方法模式可以用于创建不同类型…

惠普Z系列AI台式工作站家族

聚焦智能制造、数据科学及人工智能、3D图形图像等高精尖领域&#xff0c;为客户提供高性能、强稳定、强拓展的台式工作站产品及解决方案。 HP Z1 Tower G9 VR创作 / 设计建模 适用于VR内容创作及设计建模等工作可支持128G DDR5内存&#xff0c;第十四代Intel Core™ vPro™ CPU…

Windows下cmd快速到达指定文件位置(三种方法)

一、图形界面 第一步&#xff1a; 点击此图标 在搜索框输入“cmd”&#xff0c;打开命令提示符 或者&#xff1a; 快捷键windowR&#xff0c;点击“确定” 第二步&#xff1a; 先进盘 比如d盘&#xff0c;输入 d: &#xff08;注意英文输入法&#xff09;&#xff0c;再进文件…

前沿重器[53] | 聊聊搜索系统6:精排

前沿重器 栏目主要给大家分享各种大厂、顶会的论文和分享&#xff0c;从中抽取关键精华的部分和大家分享&#xff0c;和大家一起把握前沿技术。具体介绍&#xff1a;仓颉专项&#xff1a;飞机大炮我都会&#xff0c;利器心法我还有。&#xff08;算起来&#xff0c;专项启动已经…

充分利用视觉信息多问多答合成数据,提升多模态大模型数学推理能力

©PaperWeekly 原创 作者 | 史文浩 单位 | 电子科技大学 论文题目&#xff1a; Math-LLaVA: Bootstrapping Mathematical Reasoning for Multimodal Large Language Models 论文链接&#xff1a; https://arxiv.org/abs/2406.17294 开源链接&#xff1a; https://github.c…

最新国内免费使用GPT4o、4.0、3.5 的方法

为了方便大家对GPT有更好的了解&#xff0c;这里特地整理了一个表格做对比 这些模型展示了OpenAI在自然语言处理领域的持续进步&#xff0c;每一代模型都在理解和生成能力、效率和适用性方面进行了显著提升。 网站汇总 这里顺便给大家汇总一下国内同类型的网站&#xff0c;有…

物联网设计竞赛_10_Jetson Nano中文转汉语语音

在windows中pyttsx3可以让汉字文本输出中文语音&#xff0c;但是在jetson上只能用英文说话 import pyttsx3def hanyu(test):engine pyttsx3.init()rate engine.getProperty(rate)engine.setProperty(rate,125)engine.say(test)engine.runAndWait() hanyu(你好) #engine.save…