Opencv第六課--圖像的運(yùn)算

數(shù)字圖像的運(yùn)算

圖像處理中最重要的內(nèi)容之一就是圖像的運(yùn)算份名,圖像像素的運(yùn)算包括點(diǎn)運(yùn)算、代數(shù)運(yùn)算妓美、邏輯運(yùn)算僵腺,圖像的幾何變換方法包括平移、鏡像壶栋、縮放辰如、轉(zhuǎn)置、旋轉(zhuǎn)和剪切贵试,圖像的鄰域操作和區(qū)域選擇琉兜。

獲取和修改

import cv2
import numpy as np
img = cv2.imread("test.jpg")
#可以通過像素點(diǎn)讀取
px = img[100,100]
#返回的是一個(gè)RGB的三維向量

上面的例子是對一副輸入圖像的像素值進(jìn)行讀取,下面通過接口快速實(shí)現(xiàn)對像素值的修改

import cv2
import numpy as np
img = cv2.imread("test.jpg")
print(img.item(10,10,2))
img.itemset((10,10,2),100)
print(img.item(10,10,2))

當(dāng)然經(jīng)常需要訪問圖像的一些屬性锡移,包括行呕童、列,大小淆珊,類型

import cv2
img = cv2.imread("test.jpg")
print(img.shape)
##(280,450,3)
print(img.size)
##12600
print(img.dtype)
##uint8

圖像加法

cv2.add()是將兩幅圖像進(jìn)行加法運(yùn)算

圖像混合

image.png

cv2.addWeighted()就是按照這個(gè)公式進(jìn)行混合操作的夺饲,實(shí)現(xiàn)不同比例的一種圖像混合。

import cv2
import numpy as np
img1 = cv2.imread("test1.jpg")
img2 = cv2.imread("test2.jpg")
dst = cv2.addWeighted(img1,0.7,img2,0.3,0)
cv2.imshow("dst",dst)
cv2.waitKey(0)
cv2.destroyAllWindow()

幾何變換

擴(kuò)展縮放

cv2.resize()可以實(shí)現(xiàn)這個(gè)功能

import numpy as np
import cv2
img = cv2.imread("test.jpg")
res = cv2.resize(img,None,fx=2,fy=2,interpolation=cv2.INTER_CUBIC)
cv2.imshow("res",res)
cv2.imshow("img",img)
cv2.waitKey(0)
cv2.destroyAllWindows()

平移

import cv2
import numpy as np
img = cv2.imread("test.jpg")
imgInfo = img.shape
height = imgInfo[0]
width = imgInfo[1]
mode = imgInfo[2]
dst  = np.zeros(imgInfo,np.uint8)
for i in range(height):
  for j in range(width-100):
      dst[i,j+100] = img[i,j]
cv2.imshow("dst",dst)
cv2.imshow("img",img)
cv2.waitKey(0)
cv2.destroyAllWindows()
image.png

原始圖像向右移動(dòng)100個(gè)像素

旋轉(zhuǎn)

def rotation():
    img = cv2.imread("test.jpg",0)
    rows,cols = img.shape
    #第一個(gè)是旋轉(zhuǎn)中心,第二個(gè)是旋轉(zhuǎn)角度往声,第三個(gè)是旋轉(zhuǎn)縮放因子
    M = cv2.getRotationMatrix2D((cols/2,rows/2),45,0.6)
    dst = cv2.warpAffine(img,M,(2*cols,2*rows))
    while(1):
        cv2.imshow("dst",dst)
        cv2.imshow("img",img)
        if cv2.waitKey(1)&0xFF==27:
            break
    cv2.destroyAllWindows()
if __name__ == "__main__":
    rotation()

仿射變換

def warpAffine():
    img = cv2.imread("test.jpg")
    imgInfo = img.shape
    height = imgInfo[0]
    width = imgInfo[1]
    #原圖的三個(gè)坐標(biāo)
    matSrc = np.float32([[0,0],[0,height-1],[width-1,0]])
    #仿射圖的三個(gè)坐標(biāo)
    matDst = np.float32([[50,50],[100,height-50],[width-200,100]])
    matAffine = cv2.getAffineTransform(matSrc,matDst)
    dst = cv2.warpAffine(img,matAffine,(height,width))
    cv2.imshow("dst",dst)
    while(1):
        if cv2.waitKey(1)&0xFF==27:
            break
    cv2.destroyAllWindows()
    
if __name__ == "__main__":
    warpAffine()
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末擂找,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子浩销,更是在濱河造成了極大的恐慌贯涎,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,427評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件慢洋,死亡現(xiàn)場離奇詭異塘雳,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)普筹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評論 3 395
  • 文/潘曉璐 我一進(jìn)店門败明,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人太防,你說我怎么就攤上這事妻顶。” “怎么了蜒车?”我有些...
    開封第一講書人閱讀 165,747評論 0 356
  • 文/不壞的土叔 我叫張陵讳嘱,是天一觀的道長。 經(jīng)常有香客問我酿愧,道長沥潭,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,939評論 1 295
  • 正文 為了忘掉前任寓娩,我火速辦了婚禮叛氨,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘棘伴。我一直安慰自己寞埠,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,955評論 6 392
  • 文/花漫 我一把揭開白布焊夸。 她就那樣靜靜地躺著仁连,像睡著了一般。 火紅的嫁衣襯著肌膚如雪阱穗。 梳的紋絲不亂的頭發(fā)上饭冬,一...
    開封第一講書人閱讀 51,737評論 1 305
  • 那天,我揣著相機(jī)與錄音揪阶,去河邊找鬼昌抠。 笑死,一個(gè)胖子當(dāng)著我的面吹牛鲁僚,可吹牛的內(nèi)容都是我干的炊苫。 我是一名探鬼主播裁厅,決...
    沈念sama閱讀 40,448評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼侨艾!你這毒婦竟也來了执虹?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,352評論 0 276
  • 序言:老撾萬榮一對情侶失蹤唠梨,失蹤者是張志新(化名)和其女友劉穎袋励,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體当叭,經(jīng)...
    沈念sama閱讀 45,834評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡茬故,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,992評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蚁鳖。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片均牢。...
    茶點(diǎn)故事閱讀 40,133評論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖才睹,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情甘邀,我是刑警寧澤琅攘,帶...
    沈念sama閱讀 35,815評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站松邪,受9級特大地震影響坞琴,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜逗抑,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,477評論 3 331
  • 文/蒙蒙 一剧辐、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧邮府,春花似錦荧关、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至仙辟,卻和暖如春同波,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背叠国。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評論 1 272
  • 我被黑心中介騙來泰國打工未檩, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人粟焊。 一個(gè)月前我還...
    沈念sama閱讀 48,398評論 3 373
  • 正文 我出身青樓冤狡,卻偏偏與公主長得像孙蒙,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子筒溃,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,077評論 2 355

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