Python使用OpenCV将小尺寸图片嵌入白色或黑色背景

Leo
Leo
发布时间:2026-10-13| 5人浏览过
原创

本文介绍如何使用Python和OpenCV库将小尺寸图片嵌入到较大的白色或黑色背景中。通过创建指定尺寸的空白画布,并将原图像素值复制到对应区域,实现图片居中或左上角嵌入的效果。代码示例展示了白色背景和黑色背景两种场景的具体实现方法,适用于模型输入尺寸标准化等场景。

Python使用OpenCV将小尺寸图片嵌入白色或黑色背景

本文介绍如何将一张尺寸较小的图片嵌入到一张尺寸较大的白色或黑色背景图片中,前提条件是原图的长宽必须小于背景图片的尺寸。例如,原图的尺寸为长192像素、宽64像素。

嵌入白色背景的实现

首先演示将图片嵌入到尺寸为224x224像素的白色背景中。


import cv2
import numpy as np

def img_resize_to_target_white(image):
 target = np.ones((224,224),dtype=np.uint8)*255

 ret = cv2.cvtColor(target, cv2.COLOR_GRAY2BGR)

 h = image.shape[0]
 w = image.shape[1]
 for i in range(224):
  for j in range(224):
   if(i < h) and (j < w):

    ret[i, j, 0] = image[i, j, 0]
    ret[i, j, 1] = image[i, j, 1]
    ret[i, j, 2] = image[i, j, 2]
   else:
    ret[i, j, 0] = 255
    ret[i, j, 1] = 255
    ret[i, j, 2] = 255

 return ret
 
if __name__ == '__main__':
 image = cv2.imread('/home/yasin/桌面/test.png')
 img_new_white = img_resize_to_target_white(image)
 cv2.imshow("img_new_white", img_new_white)
 cv2.waitKey() 

运行上述代码后的结果如下所示:

嵌入黑色背景的实现

接着演示将图片嵌入到尺寸为224x224像素的黑色背景中。


import cv2

def img_resize_to_target_black(image):
 target = np.zeros((224,224),dtype=np.uint8)

 bgr_img = cv2.cvtColor(target, cv2.COLOR_GRAY2BGR)

 h = image.shape[0]
 w = image.shape[1]
 for i in range(h):
  for j in range(w):

   bgr_img[i, j, 0] = image[i, j, 0]
   bgr_img[i, j, 1] = image[i, j, 1]
   bgr_img[i, j, 2] = image[i, j, 2]

 return bgr_img

if __name__ == '__main__':
 image = cv2.imread('/home/yasin/桌面/test.png')
 img_new_black = img_resize_to_target_black(image)
 cv2.imshow("img_new_black", img_new_black)
 cv2.waitKey()

运行上述黑色背景处理代码后的结果如下所示:

以上即为使用Python实现将小图片嵌入较大白色或黑色背景图片的完整方法,希望能为读者提供参考。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。