来源:南宁IT培训学校时间:2022/8/8 18:21:08
为什么我们需要学习图像处理技术?
深度学习对于图像的分析、识别以及语义理解具有重要意义。“图像分类”、“对象检测”、“实例分割”等是深度学习在图像中的常见应用。为了能够建立更好的训练数据集,我们必须先深入了解基本的图像处理技术,例如图像增强,包括裁剪图像、图像去噪或旋转图像等。其次基本的图像处理技术同样有助于光学字符识别(OCR)。
图像处理技术通过识别关键特征或读取图像中的文本信息,来提高图像的可解释性,以便对图像中存在的对象进行分类或检测。
此处提供代码和图像
导入所需的库
import cv2from PIL import Image
首先我们使用OpenCV和PIL显示图像
使用OpenCV读取和显示图像
image = cv2.imread(r'love.jpg')cv2.imshow("Image", image)cv2.waitKey(0)
如果图像太大,图像的窗口将不匹配屏幕显示比例。
那么如何在屏幕上显示完整的图像?
默认情况下,显示超大图像时图像都会被裁剪,不能被完整显示出来。为了能够查
看完整图像,我们将使用OpenCV中的namedWindow(name, flag)来创建一个新的显示图像窗口。
第 一个参数name是窗口的标题,将被用作标识符。 当您将flag设置为cv2.WINDOW_NORMAL时,将显示完整图像,并可以调整窗口大小。当然flag参数还有选择。
image = cv2.imread(r'love.jpg')cv2.namedWindow('Normal Window', cv2.WINDOW_NORMAL)cv2.imshow('Normal Window', image)cv2.waitKey(0)
调整图像的尺寸
当我们调整图像大小时,我们可以更改图像的高度或宽度,或在保持宽高比不变的情况下同时变化高度和宽度。图片的宽高比是图片的宽度与高度的比。
image= cv2.imread(r'taj.jpg')scale_percent =200 # percent of original sizewidth = int(image.shape[1] * scale_percent / 100)height = int(image.shape[0] * scale_percent / 100)dim = (width, height)resized = cv2.resize(image, dim, interpolation = cv2.INTER_AREA)cv2.imshow("Resize", resized)cv2.waitKey(0)