openCV和Tensorflow起步

1.配置開發(fā)環(huán)境Anaconda

(1)打開Anaconda Prompt俺祠,將網(wǎng)址替換為清華鏡像,這樣下載各種依賴會快一些:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes

(2)打開Anaconda Navigator借帘,創(chuàng)建一個運行環(huán)境蜘渣,名稱為tensorflow36,并安裝tensorflow和opencv

2.Hello World

(1)在Navigator中Home頁面里運行notebook

(2)圖片的讀取與展示

cv2.imread()用于圖片讀取肺然,它接受2個參數(shù)蔫缸。參數(shù)1為文件名,參數(shù)2為圖片讀取類型狰挡,0為讀取成灰度圖捂龄,1為讀取成彩色圖
cv2.imshow()用于顯示圖片,它接受2個參數(shù)加叁。參數(shù)1為窗體名稱倦沧,參數(shù)2為讀取圖片的原始數(shù)據(jù)
cv2.waitKey(0)用于程序暫停召嘶,要顯示圖片必須運行這行代碼

import cv2
img = cv2.imread('image0.jpg',1)
cv2.imshow('image',img)
cv2.waitKey(0)
運行結(jié)果

(3)圖片的寫入

cv2.imwrite()該方法接受3個參數(shù)洒扎。參數(shù)1為文件名徐伐,參數(shù)2為圖片原始數(shù)據(jù)乘寒,參數(shù)三為壓縮質(zhì)量灰粮,不同的圖片格式擁有不同的數(shù)值范圍,對于jpg來說可選質(zhì)量0-100樟凄,對于png來說壓縮范圍為0-9

import cv2
img = cv2.imread('image0.jpg',1)
#完成圖片的寫入功能
cv2.imwrite('image1.jpg',img,[cv2.IMWRITE_JPEG_QUALITY,50])
cv2.imwrite('image1.png',img,[cv2.IMWRITE_PNG_COMPRESSION,0])
#jpg 0 壓縮比高 png 0 壓縮比低
#jpg 壓縮范圍 0-100 png 壓縮范圍 0-9
運行結(jié)果

(4)像素操作基本概念

  • 顏色深度:按8bit舉例引矩,就是用8位存儲一個顏色的值,8bit的每個顏色通道的取值范圍是0-255
  • 圖片大醒嗯肌:640x480即水平喝噪、豎直方向上有640、480個像素指么;640x480x3即圖片占用的空間(8bit圖片)
  • 圖片格式:對于png圖片來說酝惧,它采用的都是無損壓縮方式,比jpg多出一個alpha顏色通道伯诬,用來存儲透明度
  • 顏色通道:opencv讀取的圖片顏色通道是按bgr來排列的(b,g,r) = img[0,0]用元組來存儲一個像素的顏色
(b,g,r) = img[100,100] #img[]是一個矩陣結(jié)構(gòu)晚唇,讀取出的數(shù)據(jù)以元組儲存,左上角為起點
print(b,g,r) #openCV讀取顏色為bgr
for i in range(1,100):
    for j in range(1,100):
        img[100+i,100+j] = (255,0,0)
cv2.imshow('image2',img)
cv2.waitKey(0)
運行結(jié)果

(5)tensorflow基礎知識

  • 使用圖 (graph) 來表示計算任務
  • 在被稱之為 會話 (Session) 的上下文 (context) 中執(zhí)行圖
  • 使用張量(tensor) 表示數(shù)據(jù)
  • 通過變量 (Variable) 維護狀態(tài)
  • 使用 feed 和 fetch 可以為任意的操作賦值或者從其中獲取數(shù)據(jù)
  1. 在Tensorflow計算圖(graph)中盗似,操作間傳遞的數(shù)據(jù)都是 tensor哩陕。 可以把 TensorFlow中tensor 看作是一個 n 維的數(shù)組或列表。 一個 tensor 包含一個靜態(tài)類型 rank赫舒,和 一個 shape悍及。
  2. 圖中的節(jié)點被稱之為 op (operation)。 一個 op 獲得 0 個或多個 Tensor号阿,執(zhí)行計算, 產(chǎn)生 0 個或多個 Tensor并鸵。每個 Tensor 是一個類型化的多維數(shù)組。例如扔涧,你可以將一小組圖像集表示為一個四維浮點數(shù)數(shù)組 [batch, height, width, channels]园担。
  3. 一個圖描述了計算的過程。為了進行計算枯夜,圖必須在會話里被啟動弯汰。會話將圖的 op 分發(fā)到諸如 CPU 或 GPU 之類的 設備 上,同時提供執(zhí)行 op 的方法湖雹。這些方法執(zhí)行后咏闪, 將產(chǎn)生的 tensor 返回。
import tensorflow as tf
data1 = tf.constant(2,dtype=tf.int32) #定義常量
data2 = tf.Variable(10,name='var') #變量
print(data1)#直接打印的為張量
print(data2)
sess = tf.Session() #tensorflow中所有的操作要通過會話變量來進行
print(sess.run(data1))
init = tf.global_variables_initializer() #如果在圖中定義了變量一定要調(diào)用init為變量初始化
sess.run(init)
print(sess.run(data2))
sess.close()
#使用with方式可以不用關閉會話
'''
init = tf.global_variables_initializer()
sess = tf.Session()
with sess:
    sess.run(init)
    print(sess.run(data2))
'''
運行結(jié)果

(6)Tensorflow四則運算

tf.add()加法 tf.substract()減法 tf.multiply()乘法 tf.divide()除法

import tensorflow as tf
data1 = tf.constant(6)
data2 = tf.Variable(2)
dataAdd = tf.add(data1,data2)
dataCopy = tf.assign(data2,dataAdd)#將結(jié)果拷貝到data2中
dataMul = tf.multiply(data1,data2)
dataSub = tf.subtract(data1,data2)
dataDiv = tf.divide(data1,data2)
init = tf.global_variables_initializer()
with tf.Session() as sess:
    sess.run(init)
    print(sess.run(dataAdd))
    print(sess.run(dataMul))
    print(sess.run(dataSub))
    print(sess.run(dataDiv))
    print(sess.run(dataCopy))
    print(dataCopy.eval())
    print(tf.get_default_session().run(dataCopy))
print('end')
運行結(jié)果

使用占位符方式

import tensorflow as tf
data1 = tf.placeholder(tf.float32)
data2 = tf.placeholder(tf.float32)
dataAdd = tf.add(data1,data2)
with tf.Session() as sess:
    print(sess.run(dataAdd,feed_dict={data1:2,data2:6}))
print('end')

(7)tensorflow矩陣

通過[ [data1,data2,... ] ]創(chuàng)建摔吏,最外層的[ ]只代表一個數(shù)組鸽嫂,里面的[ ]代表一行,內(nèi)層的數(shù)據(jù)個數(shù)代表了幾列征讲,例如[[1,2],[3,4]]代表一個2*2的矩陣

import tensorflow as tf
data1 = tf.constant([[6,6]])#創(chuàng)建一個1x2的矩陣
data2 = tf.constant([[2],[2]])#創(chuàng)建一個2x1的矩陣
data3 = tf.constant([[1,2],[3,4],[5,6]])#3x2矩陣
print(data3.shape)
with tf.Session() as sess:
    print(sess.run(data3))
    print(sess.run(data3[0]))#打印第一行
    print(sess.run(data3[:,0]))#打印第一列
    print(sess.run(data3[0,1]))#第一行第二列

運行結(jié)果

到這就結(jié)束了什么都不會~~

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末据某,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子诗箍,更是在濱河造成了極大的恐慌癣籽,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異筷狼,居然都是意外死亡瓶籽,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進店門埂材,熙熙樓的掌柜王于貴愁眉苦臉地迎上來塑顺,“玉大人,你說我怎么就攤上這事楞遏〔缦荆” “怎么了?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵寡喝,是天一觀的道長。 經(jīng)常有香客問我勒奇,道長预鬓,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任赊颠,我火速辦了婚禮格二,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘竣蹦。我一直安慰自己顶猜,他們只是感情好,可當我...
    茶點故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布痘括。 她就那樣靜靜地躺著长窄,像睡著了一般。 火紅的嫁衣襯著肌膚如雪纲菌。 梳的紋絲不亂的頭發(fā)上挠日,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天,我揣著相機與錄音翰舌,去河邊找鬼嚣潜。 笑死,一個胖子當著我的面吹牛椅贱,可吹牛的內(nèi)容都是我干的懂算。 我是一名探鬼主播,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼庇麦,長吁一口氣:“原來是場噩夢啊……” “哼计技!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起女器,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤酸役,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體涣澡,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡贱呐,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了入桂。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片奄薇。...
    茶點故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖抗愁,靈堂內(nèi)的尸體忽然破棺而出馁蒂,到底是詐尸還是另有隱情,我是刑警寧澤蜘腌,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布沫屡,位于F島的核電站,受9級特大地震影響撮珠,放射性物質(zhì)發(fā)生泄漏沮脖。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一芯急、第九天 我趴在偏房一處隱蔽的房頂上張望勺届。 院中可真熱鬧,春花似錦娶耍、人聲如沸免姿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽胚膊。三九已至,卻和暖如春奈应,著一層夾襖步出監(jiān)牢的瞬間澜掩,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工杖挣, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留肩榕,地道東北人。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓惩妇,卻偏偏與公主長得像株汉,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子歌殃,可洞房花燭夜當晚...
    茶點故事閱讀 43,472評論 2 348

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

  • 一乔妈、導出數(shù)據(jù)庫里面的表(結(jié)構(gòu)及數(shù)據(jù)) 1.從數(shù)據(jù)庫中找到你想要導出的表,右擊彈出選框氓皱,選擇 ‘轉(zhuǎn)儲SQL文件’路召,點...
    大刀刻小字閱讀 1,173評論 0 0
  • 2018年2月23日 星期五 天氣晴 我媽媽 我媽媽個子有些矮勃刨,身體胖胖的...
    飛翔語閱讀 179評論 0 1
  • 你處對象了 還不算,不過也差不多了股淡。 僅以此集祭奠三年光陰一生春夢 ...
    裸淚無痕閱讀 228評論 0 0