介紹
這個(gè)小工具把原帖和臨寫分解成多列對(duì)照的形式。
輸入原帖圖片,
和輸入臨寫圖片,
生成對(duì)照?qǐng)D片。
使用說(shuō)明
運(yùn)行compare.py文件,輸入參數(shù)為:原帖圖片文件名,臨寫圖片文件名,列數(shù)。
python3 compare.py
原代碼
好吧,嚴(yán)格點(diǎn),應(yīng)該說(shuō)核心代碼就第13行到23行十來(lái)行代碼。
from skimage import iofrom skimage import transformfrom skimage.color import rgb2grayimport numpy as npimport matplotlib.pyplot as pltimport sysimport os.pathdef main(modelname, copiedname, colnum): copied = io.imread(copiedname) copied = rgb2gray(copied) * 255 model = io.imread(modelname) model = rgb2gray(model) model = transform.resize(model, copied.shape) * 255 r = np.zeros((copied.shape[0], copied.shape[1]*2), np.uint8) width = copied.shape[1] // colnum for i in range(colnum): r[:, 2*i*width:(2*i+1)*width] = model[:, i*width:(i+1)*width] r[:, (2*i+1)*width:(2*i+2)*width] = copied[:, i*width:(i+1)*width] name, ext = os.path.splitext(copiedname) name += “_cmp.jpg” io.imsave(name, r) #name = os.path.join(os.path.dirname(copiedname), “comparison.jpg”) plt.figure() plt.imshow(r, cmap=plt.cm.gray) plt.show()if __name__ == “__main__”: if len(sys.argv) == 4: modelname = sys.argv[1] copiedname = sys.argv[2] colnum = int(sys.argv[3]) else: print(“usage: python3 compare.py “) sys.exit() main(modelname, copiedname, colnum)