2016-04-29 56 views
0

如何合適並覆蓋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

它是從你的問題不太清楚它應該如何出來!我只是在使用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

+0

Wheh我嘗試上色網格,它colorizes連背景(應該是透明的),而不是隻將紅色放在線條上。 我該如何解決這個問題? – marco

+0

嘗試使絨毛25%左右 –

+0

謝謝,我添加使用anoter命令來更改顏色,它的工作。 但是,當我將「圖像源」更改爲https://meocloud.pt/link/feadfebe-4290-4988-9d47-7dc78ce99eeb/testImage/時,我無法獲得類似的結果。 我使用的命令是:convert main.png -resize 10019x22807! \(mesh.png -trim -fuzz 10%-transparent white -fill red -opaque「rgb(0,0,0)」\)-composite result.png – marco