如何安装不同分辨率的图像?

时间:2016-04-29 10:52:31

标签: python opencv image-processing

如何安装然后叠加2张具有不同分辨率的图像?

这是主要形象: image description

我有这个,它与上面的图像有正确的网格:

image description

#!/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)

1 个答案:

答案 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

这是你得到的。

enter image description here

看起来您的网格需要在左侧裁剪以将其移位,因此请尝试:

convert main.png -resize 2480x5703! \( mesh.jpg -crop +57 -fuzz 10% -transparent white -fill red -colorize 100% \) -composite result.png

enter image description here