我正在嘗試構建識別卡的機器。事情是卡將放在一個cenario的頂部。在圖像中獲取新對象
這就是說我來幫助我怎麼可以比較圖像,一個是空的背景(cenario),另一個是與它上面的卡相同的cenario。
import numpy as np
from PIL import Image
import cv2
image1 = cv2.imread("gray_bk.png")
image2 = cv2.imread("gray_novo.png")
cv2.imwrite('LutGrey.png',gray_image)
novo = cv2.subtract(image1,image2)
cv2.imwrite(file, novo)
這是到目前爲止我的代碼,它的問題是,返回的是與它的卡(OK),但卡上的顏色黑色圖像都搞砸了,我怎麼執行沒有搞亂顏色的相同操作?將卡片「剪切」成新的(更小的)圖像的最佳方式是什麼?
提供的映像。任何人都很難在沒有圖像的情況下回答與圖像有關的問題。 – saurabheights
@saurabheights圖片鏈接postimg.org/image/dz72s444t/ – Clash
首先,你應該提供背景圖片以及你得到的最終輸出。接下來,您正在使用減法,http://docs.opencv.org/2.4/modules/core/doc/operations_on_arrays.html#subtract。這種方法會進行diff然後使圖像飽和,這會導致顏色失真。注意失真不僅僅是因爲飽和,而且還因爲你正在做一個非黑色圖像的差異。因爲顏色(色相)與R,G和B顏色的比率更相關,所以如果從非零值中減去R,G和B,比率將消失。 – saurabheights