欢迎访问宙启技术站
智能推送

PyQt5.QtGui.QImage实现图像的模糊与锐化处理

发布时间:2024-01-13 06:26:32

PyQt5.QtGui.QImage是PyQt5中的图像处理类,可以实现对图像的模糊与锐化处理。下面是对QImage进行模糊和锐化处理的使用例子:

import sys
from PyQt5.QtGui import QImage, QPixmap
from PyQt5.QtWidgets import QApplication, QLabel, QVBoxLayout, QWidget


def blur_image(image, radius):
    return image.blur(radius)


def sharpen_image(image, radius, strength):
    return image.sharpen(radius, strength)


if __name__ == '__main__':
    # 创建应用程序
    app = QApplication(sys.argv)

    # 创建窗口
    window = QWidget()

    # 创建垂直布局
    layout = QVBoxLayout()

    # 加载图像
    image = QImage('image.png')

    # 图片显示label
    label = QLabel()

    # 设置窗口大小
    window.resize(image.width(), image.height())

    # 模糊处理
    blurred_image = blur_image(image, 5)

    # 锐化处理
    sharpened_image = sharpen_image(image, 5, 1.0)

    # 将QImage转换为QPixmap
    pixmap = QPixmap.fromImage(image)

    # 在label上显示QPixmap
    label.setPixmap(pixmap)

    # 向布局添加label
    layout.addWidget(label)

    # 设置窗口布局
    window.setLayout(layout)

    # 显示窗口
    window.show()

    # 运行应用程序
    sys.exit(app.exec_())

在上面的代码中,首先加载图像,然后定义了两个函数blur_image()和sharpen_image()分别用于图像的模糊和锐化处理。在主函数中,创建一个应用程序和一个窗口,并为窗口设置了一个垂直布局。然后,使用blur_image()函数对图像进行模糊处理,使用sharpen_image()函数对图像进行锐化处理。最后,将QImage转换为QPixmap,并在label上显示QPixmap,最后显示窗口。

您可以将上述代码保存为一个Python脚本并运行,替换'image.png'为您自己的图像文件路径,即可看到模糊和锐化处理后的图像显示在窗口中。

总结起来,通过PyQt5.QtGui.QImage的模糊和锐化处理功能,可以方便地对图像进行处理并显示在窗口中。这对于图像处理应用程序的开发非常有用。