OpenCV-Python教程:8.圖片的算術(shù)運(yùn)算

圖片相加

你可以用OpenCV函數(shù)把兩個(gè)圖片加起來聘惦, cv2.add()或者簡(jiǎn)單的使用numpy操作允坚, res = img1 + img2. 兩個(gè)圖片都應(yīng)該有相同深度和類型,或者第二個(gè)圖片可以為標(biāo)量残家。

注意:
OpenCV和Numpy相加是不同的扫沼。OpenCV相加是一個(gè)滲透運(yùn)算缸兔,而Numpy的相加是模運(yùn)算。

>>>x = np.uint8([250])
>>>y = np.uint8([10])
>>>printcv2.add(x,y) ? ? ? # 250+10 = 260 => 255
[[255]]
>>>print x+y ? ? ? ?# 250+10 = 260 % 256 = 4
[4]

當(dāng)你把兩個(gè)圖片相加的時(shí)候會(huì)更明白。OpenCV函數(shù)會(huì)提供一個(gè)更好的結(jié)果镊绪。所以最好是用OpenCV函數(shù)。

圖片混合

這也是圖片相加纳胧,但是給了圖片不同的權(quán)重镰吆,這樣感覺就是混合了或者說透明了。

當(dāng)α從0-> 1跑慕,你可以從一個(gè)圖片到另一個(gè)圖片進(jìn)行很酷的轉(zhuǎn)換万皿。

這里我把兩張圖片進(jìn)行混合,第一個(gè)圖片給權(quán)重0.7第二個(gè)給0.3核行。cv2.addWeighted()把下面的等式應(yīng)用到圖片上牢硅。

這里γ是0

img1 = cv2.imread('ml.png')
img2 = cv2.imread('opencv_logo.jpg')
dst = cv2.addWeighted(img1,0.7,img2,0.3,0)
cv2.imshow('dst',dst)
cv2.waitKey(0)
cv2.destroyAllWindows()

位運(yùn)算

這包含了位與,或芝雪,非和異或運(yùn)算减余。要解出圖片的任意部分就很重要。定義和處理非矩形的ROI等惩系。下面我們會(huì)看到如何變更圖片特定區(qū)域的例子位岔。

我想把OpenCV的logo放在一張圖片上,如果我把兩個(gè)圖片相加堡牡,它會(huì)改變顏色抒抬。如果我混合,又會(huì)得到透明效果晤柄。但是我想要不透明的擦剑。如果是個(gè)矩形區(qū)域,我可以使用ROI芥颈。但是OpenCV logo不是個(gè)矩形圖形惠勒。所以你可以用位運(yùn)算的方式:

# Load two images
img1 = cv2.imread('messi5.jpg')
img2 = cv2.imread('opencv_logo.png')

# I want to put logo on top-left corner, So I create a ROI
rows, cols, channels = img2.shape
roi = img1[0:rows,0:cols]

# Now create a mask of logo and create its inverse mask also
img2gray = cv2.cvtColor(img2, cv2.COLOR_BGR2GRAY)
ret, mask = cv2.threshold(img2gray, 10, 255, cv2.THRESH_BINARY)
mask_inv = cv2.bitwise_not(mask)

# Now black-out the area of logo in ROI
img1_bg = cv2.bitwise_and(roi, roi, mask=mask_inv)

# Take only region of logo from logo image.
img2_fg = cv2.bitwise_and(img2, img2, mask=mask)

# Put logo in ROI and modify the main image
dst = cv2.add(img1_bg, img2_fg)
img1[0:rows, 0:cols] = dst

cv2.imshow('res', img1)
cv2.waitKey(0)
cv2.destroyAllWindows()


看下面的結(jié)果,左邊的圖片顯示了我們的覆蓋層爬坑,右邊顯示了最后結(jié)果

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末纠屋,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子盾计,更是在濱河造成了極大的恐慌巾遭,老刑警劉巖肉康,帶你破解...
    沈念sama閱讀 217,734評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異灼舍,居然都是意外死亡吼和,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門骑素,熙熙樓的掌柜王于貴愁眉苦臉地迎上來炫乓,“玉大人,你說我怎么就攤上這事献丑∧┑罚” “怎么了?”我有些...
    開封第一講書人閱讀 164,133評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵创橄,是天一觀的道長(zhǎng)箩做。 經(jīng)常有香客問我,道長(zhǎng)妥畏,這世上最難降的妖魔是什么邦邦? 我笑而不...
    開封第一講書人閱讀 58,532評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮醉蚁,結(jié)果婚禮上燃辖,老公的妹妹穿的比我還像新娘。我一直安慰自己网棍,他們只是感情好黔龟,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著滥玷,像睡著了一般氏身。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上惑畴,一...
    開封第一講書人閱讀 51,462評(píng)論 1 302
  • 那天蛋欣,我揣著相機(jī)與錄音,去河邊找鬼桨菜。 笑死豁状,一個(gè)胖子當(dāng)著我的面吹牛捉偏,可吹牛的內(nèi)容都是我干的倒得。 我是一名探鬼主播,決...
    沈念sama閱讀 40,262評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼夭禽,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼霞掺!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起讹躯,我...
    開封第一講書人閱讀 39,153評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤菩彬,失蹤者是張志新(化名)和其女友劉穎缠劝,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體骗灶,經(jīng)...
    沈念sama閱讀 45,587評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡惨恭,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了耙旦。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片脱羡。...
    茶點(diǎn)故事閱讀 39,919評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖免都,靈堂內(nèi)的尸體忽然破棺而出锉罐,到底是詐尸還是另有隱情,我是刑警寧澤绕娘,帶...
    沈念sama閱讀 35,635評(píng)論 5 345
  • 正文 年R本政府宣布脓规,位于F島的核電站,受9級(jí)特大地震影響险领,放射性物質(zhì)發(fā)生泄漏侨舆。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評(píng)論 3 329
  • 文/蒙蒙 一舷暮、第九天 我趴在偏房一處隱蔽的房頂上張望态罪。 院中可真熱鬧,春花似錦下面、人聲如沸复颈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽耗啦。三九已至,卻和暖如春机杜,著一層夾襖步出監(jiān)牢的瞬間帜讲,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工椒拗, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留似将,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,048評(píng)論 3 370
  • 正文 我出身青樓蚀苛,卻偏偏與公主長(zhǎng)得像在验,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子堵未,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容