python - 使用 Python 将图像填充到一个大小

标签 python image opencv

我正在编写一个手写识别应用程序,我的输入必须具有一定的尺寸(128x128)。当我检测到一个字母时,它看起来像这样:

this

例如,该图像的大小为 40x53。我想让它成为 128x128,但简单地调整它的大小会降低质量,尤其是对于较小的图像。我想以某种方式将其余部分填充到 128x128,中间是 40x53。背景颜色也应该保持相对相同。我正在使用 Python 的 opencv,但我是新手。我该怎么做,甚至有可能吗?

最佳答案

在这里,您可以使用 outputImage 获取您所询问的内容.基本上我使用 copyMakeBorder 添加了一个边框方法。您可以引用this更多细节。您必须在 value 中根据需要设置颜色值。范围。现在它是白色的 [255,255,255]。

但是我宁愿建议您调整原始图像的大小,这似乎是比您所要求的更好的选择。调整图像大小,您可以使用 resized在下面的代码中。为了您的方便,我在这段代码中添加了这两种方法。

import cv2
import numpy as np
inputImage = cv2.imread('input.jpg', 1)

outputImage = cv2.copyMakeBorder(inputImage,37,38,44,44,cv2.BORDER_CONSTANT,value=[255,255,255])

resized = cv2.resize(inputImage, (128,128), interpolation = cv2.INTER_AREA)
cv2.imwrite('output.jpg', outputImage)
cv2.imwrite('resized.jpg', resized)

关于python - 使用 Python 将图像填充到一个大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50252468/

相关文章:

c++ - 使用 OpenCV 的多个摄像头

OpenCV 创建样本示例

python - 使用 threaded=True 同时处理 Flask 请求

python - 如何将 tabulate lib 与 float64 : python 一起使用

python - 将值插入排序数组

python - 为什么复制 Pandas DataFrame 后属性丢失

html - 如何使用 Pandoc 将带有数字的 DOCX 文件转换为使用 base64 的独立 HTML 文件?

html - 删除图像两侧和中间的间距

objective-c - 什么是异步图片下载以及如何下载太多图片?

java - 如何通过评估相等邻域像素的百分比来减少图像中的噪声 - Java OpenCV