Python OpenCV(二) Numpy數(shù)組操作

一、遍歷圖片像素

import cv2 as cv

#函數(shù)——遍歷像素取反后顯示圖片

def access_pixels(image):

????width = image.shape[0]

????height = image.shape[1]

????channels = image.shape[2]

????print("width = %s,height = %s,channels = %s"%(width,height,channels))

????for iin range(width):

????????for jin range(height):

????????????for kin range(channels):

????????????????pv = image[i,j,k]

????????????????image[i,j,k]=255-pv

? ? ? ? ? cv.imshow("pixels_b",image)

#載入并顯示圖片

img = cv.imread("D:/temp/img/f1.jpg")

cv.imshow("Image",img)

#調(diào)用函數(shù)

access_pixels(img)

#等待鍵盤輸入并關(guān)閉所有窗口

cv.waitKey(0)

cv.destroyAllWindows()

二、創(chuàng)建一張新圖,使用通道及像素簡單控制其色彩

1、創(chuàng)建一張3通道新圖

import cv2 as cv

import? numpy as np

pic = np.zeros([666,666,3],np.uint8)? #創(chuàng)建一個3通道膳凝,第一個參數(shù)是形狀,第二個是類型

pic[:,:,2] = np.ones([666,666])*255? #通過控制通道和像素值確定呈現(xiàn)的色彩

cv.imshow("new_pic",pic)

cv.waitKey(0)

cv.destroyAllWindows()

2、創(chuàng)建一張單通道新圖

import cv2 as cv

import? numpy as np

pic = np.zeros([666,666,1],np.uint8)

pic[:, :, 0] = np.ones([666, 666]) *127? #單通道127對應(yīng)灰色

cv.imshow("new_pic",pic)

cv.waitKey(0)

cv.destroyAllWindows()

三壶愤、知識點整理

1、zeros和ones

np.zeros(size,dtype) 可以創(chuàng)建任意維度的數(shù)組馏鹤,新建圖片內(nèi)所有像素值均為0

np.ones(size,dtype) 可以創(chuàng)建任意維度的數(shù)組征椒,新建圖片內(nèi)所有像素值均為1

以下代碼:

pic = np.zeros([666,666,1],np.uint8)

pic[:, :, 0] = np.ones([666, 666]) *127

可以單使用ones代替為:

pic = np.ones([666, 666, 1],np.uint8)*127

2、Numpy數(shù)組的基本操作

m1 = np.ones([3,3],np.float32)? #新建一個3行3列的數(shù)組湃累,數(shù)據(jù)類型為float32

m1.fill(12222.38)? #m1數(shù)組中所有值都賦值為12222.38

print(m1)

m2 = m1.reshape([1,9])? #把m1變?yōu)?行9列的數(shù)組m2

3勃救、計算函數(shù)執(zhí)行時間

在本文一中加入以下代碼,可計算函數(shù)執(zhí)行所需時間:

t1 = cv.getTickCount()

access_pixels(src)#需要測試時間的函數(shù)

t2 = cv.getTickCount()

time = (t2-t1)/cv.getTickFrequency()5print("time : %s ms"%(time*1000))

4治力、python中像素取反的基本操作

本文一中像素取反的函數(shù)效率低蒙秒,實際編程中直接調(diào)用python中已有的API可極大提升效率。

access_pixels(image)函數(shù)可改為以下函數(shù):

def inverse(image):

? ? des = cv.bitwise_not(image)

? ? cv.imshow("inverse demo",des)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末琴许,一起剝皮案震驚了整個濱河市税肪,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌榜田,老刑警劉巖益兄,帶你破解...
    沈念sama閱讀 221,695評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異箭券,居然都是意外死亡净捅,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評論 3 399
  • 文/潘曉璐 我一進店門辩块,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蛔六,“玉大人,你說我怎么就攤上這事废亭」拢” “怎么了?”我有些...
    開封第一講書人閱讀 168,130評論 0 360
  • 文/不壞的土叔 我叫張陵豆村,是天一觀的道長液兽。 經(jīng)常有香客問我,道長掌动,這世上最難降的妖魔是什么四啰? 我笑而不...
    開封第一講書人閱讀 59,648評論 1 297
  • 正文 為了忘掉前任宁玫,我火速辦了婚禮,結(jié)果婚禮上柑晒,老公的妹妹穿的比我還像新娘欧瘪。我一直安慰自己,他們只是感情好匙赞,可當(dāng)我...
    茶點故事閱讀 68,655評論 6 397
  • 文/花漫 我一把揭開白布佛掖。 她就那樣靜靜地躺著,像睡著了一般罚屋。 火紅的嫁衣襯著肌膚如雪苦囱。 梳的紋絲不亂的頭發(fā)上嗅绸,一...
    開封第一講書人閱讀 52,268評論 1 309
  • 那天脾猛,我揣著相機與錄音,去河邊找鬼鱼鸠。 笑死猛拴,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蚀狰。 我是一名探鬼主播愉昆,決...
    沈念sama閱讀 40,835評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼麻蹋!你這毒婦竟也來了跛溉?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,740評論 0 276
  • 序言:老撾萬榮一對情侶失蹤扮授,失蹤者是張志新(化名)和其女友劉穎芳室,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體刹勃,經(jīng)...
    沈念sama閱讀 46,286評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡堪侯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,375評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了荔仁。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片伍宦。...
    茶點故事閱讀 40,505評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖乏梁,靈堂內(nèi)的尸體忽然破棺而出次洼,到底是詐尸還是另有隱情,我是刑警寧澤遇骑,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布卖毁,位于F島的核電站,受9級特大地震影響质蕉,放射性物質(zhì)發(fā)生泄漏势篡。R本人自食惡果不足惜翩肌,卻給世界環(huán)境...
    茶點故事閱讀 41,873評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望禁悠。 院中可真熱鬧念祭,春花似錦、人聲如沸碍侦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,357評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽瓷产。三九已至站玄,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間濒旦,已是汗流浹背株旷。 一陣腳步聲響...
    開封第一講書人閱讀 33,466評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留尔邓,地道東北人晾剖。 一個月前我還...
    沈念sama閱讀 48,921評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像梯嗽,于是被迫代替她去往敵國和親齿尽。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,515評論 2 359

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