我怎样才能适合然后叠加 2 个具有不同分辨率的图像?
这是主图:
我有这个,它与上图有正确的网格:
#!/usr/bin/python
import cv2
from matplotlib import pyplot as plt
import numpy as np
img1 = cv2.imread('transparency.jpg')
img2 = cv2.imread('La1.png')
row1,cols1, ch1 = img1.shape
row2,cols2, ch2 = img2.shape
res = cv2.resize(img2, None , fx = (1.* row1 /row2 ), fy =(1.* cols1 /cols2 ), interpolation = cv2.INTER_CUBIC)
最佳答案
从你的问题中很不清楚它应该如何出来!我只是在命令行中使用 ImageMagick 执行此操作,它安装在大多数 Linux 发行版上并且可用于 OSX 和 Windows - 如果它漂浮你的船,那么有 Python 绑定(bind)。
无论如何,让我们获取图像的大小:
identify m*
main.png PNG 1790x4098 1790x4098+0+0 8-bit sRGB 942KB 0.000u 0:00.000
mesh.jpg JPEG 2537x5703 2537x5703+0+0 8-bit sRGB 3.493MB 0.000u 0:00.000
因此,让我们加载主图像并调整其大小以匹配网格。然后让我们加载网格,让所有在白色 10% 以内的东西都是透明的——这将只留下网格中的黑线。但是我们不能在黑色上看到黑色,所以让我们将网格中的黑色线条设为红色。然后将它(技术术语意思是“复合”)放在主图像的顶部:
convert main.png -resize 2537x5703! \( mesh.jpg -fuzz 10% -transparent white -fill red -colorize 100% \) -composite result.png
这就是你得到的。
看起来您的网格需要从左侧裁剪以将其移过来,因此请尝试:
convert main.png -resize 2480x5703! \( mesh.jpg -crop +57 -fuzz 10% -transparent white -fill red -colorize 100% \) -composite result.png
关于python - 如何适应不同分辨率的图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36936440/