如何安装然后叠加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)
答案 0 :(得分:1)
从你的问题来看,它是如何出来的还不是很清楚!我只是在命令行使用ImageMagick执行此操作,ImageMagick安装在大多数Linux发行版上,可用于OSX和Windows - 如果它漂浮在您的船上,则有Python绑定。
无论如何,让我们得到图像的大小:
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