python - 如何通过在python中添加白色透明像素将图像增加到特定大小(最好使用opencv)
问题描述
例如:原始图像的尺寸 = 1080x720x4(蓝色、绿色、红色和 alpha 通道中的 4)所需尺寸 = 1920x1080x4 我希望在边框中添加白色透明像素(255,255,255,0),直到达到所需尺寸。
也许有 numpy 功能可以帮助解决这个问题?
解决方案
使用 Python/OpenCV 的一种方法是使用 @ Quang Hoang 建议的 copyMakeBorder。
输入(100x116):
import cv2
# read image
img = cv2.imread("A.png", cv2.IMREAD_UNCHANGED)
img2 = cv2.copyMakeBorder(img, 50,50,50,50, borderType=cv2.BORDER_CONSTANT, value=(255,255,255,0))
cv2.imwrite("A_border.png", img2)
cv2.imshow("img2", img2)
cv2.waitKey(0)
结果(200x2016):
推荐阅读
- python - AttributeError:'method_descriptor'对象在替换字符串时在python中没有属性'df_new'
- google-cloud-platform - 如何设置谷歌云负载均衡器以利用清漆中的 http2 支持?
- splunk - Splunk:按 ID 计数
- c++ - 如何以原子方式设置新的最小值?
- r - R rvest:提取动态加载的html表
- excel - 根据值下拉选择选项卡
- webpack - Webpack 5:assets 文件夹仅在第二个 npm run dev 命令之后生成
- azure-devops - 如何在 azure devops 管道中使用 azure devops repo 中的共享文件
- javascript - Php-Ajax-JS 多数据返回问题
- java - Redis 执行 Lua 脚本与事务冲突