Nunmpy配列が含まれています。
-
強力なN次元配列オブジェクト
-
洗練された(放送)機能
-
統合されたC / C ++およびFortranコードツール
-
便利な線形代数、フーリエ変換や乱数機能
すべてのトラバースおよび変更ピクセルアレイ
1つの #全ての画素をループ 2 DEFのaccess_pixels(画像) 。3 プリント(image.shape) 。4 高さ= image.shape [0] #高さ 5 幅= image.shape [1] #の幅 。6つの チャンネルimage.shape = [ 2] #1 チャネル 7。 印刷(" 幅:%S、高さ:%S、チャネル:%S "%(幅、高さ、チャネル)) 。8 のための行に(高さ)範囲: #1 サイクルは、各ピクセル取得 9 以下のための COL で範囲(幅): 10 用の C で範囲(チャンネル): 11 PV =画像[行、列、C] #维度 12 画像[行、列、C] = 255 - PV 13 cv.imshow(" pixels_demo "、画像)
新しい画像を作成します。
新しいイメージを作成します。
1 np.zeros([400、400 ,. 3]、np.uint8) #の形状、種類、
コード:
1つの #アレイの寸法の指定された数によって割り当てnumpyの 2 DEFのcreate_image(): 3 '' ' 4 #(新しい3チャネル画像を作成する) 5 RGBに共通#マルチチャンネル 6。 #np.zeros IMG =([400 、400 ,. 3]、np.uint8) 。7 #1 IMGの[し:、:、0] = np.ones([400、400])* 255#0は、第一通路ブルーを示し、図1は、第二のチャネル緑を示し、図3は表し第3通路読む 8。 9。 #共通の単一チャンネルのグレースケール画像 10 #np.zeros IMG =([400、400 ,. 1]、np.uint8)#新しいイメージ作成 11。 #のIMGの[し:、:、0] = np.ones([400、400])* 127 12である IMGのnp.ones =([400、400 ,. 1]、np.uint8) 13である IMG IMG * 127 = 14 cv.imshow( "新しい新しいイメージ"、IMG)#ウィンドウ 15 cv.imwrite( "C:/Users/shinelon/Desktop/DL/001.png") #画像保存 16 ' '' 17。 18である #は二次元、印刷画素を初期化する 19。 M1 = np.ones([3 ,. 3。]、np.float32) 20は m1.fill(222.388 ) 21は、 プリント(M1) 22は 23である M2 = m1.reshape([1,9]) #は、空間におけるその形状が変化する 24 プリント(M2)
その他の知識
現在のCPUクロックを取得します。
1 T1 = cv.getTickCount() #現在のCPU時間を取得します。
完全なコード
1 インポートCV AS CV2 2 インポートNP AS numpyの 3。 4。 5。 #の全ての画素をループ、遅い解釈 6。 DEF access_pixels(イメージ): 7。 印刷(image.shape) 8。 高さ= image.shape [0] #の高さ 9 幅= image.shapeの[1] #の幅 10 チャネル= image.shape [2] #1 チャネル 11 プリント(" 幅:%S、高さ:%S、チャネル:%S "%(幅、高さ、チャネル) ) 12 のための行に範囲(高さ): #1 周期は、各画素ゲット 13である ため COL における範囲(幅): 14 用の C で範囲(チャンネル): 15 PV =イメージ[ロウ、COL、C] #の寸法 16 イメージ[ロウ、COL、 C] = 255 - PV 。17 cv.imshow(" pixels_demo " 、画像) 18である 19。 20である DEFの逆数(イメージ): 21である (画像)DEST = cv.bitwise_not #1 画素がコードCに依存する、否定 22で cv.imshow(" 逆"、DEST) 23は、 24 25 #numpyのにより配列の指定された次元に割り当て 26である DEFの:)(create_image 27 '' ' 28 #(新しい3チャネル画像を作成する) 29 RGBに共通#マルチチャンネル 30 #IMG = NP .zeros([400、400 ,. 3]、np.uint8) 31である 。#IMG [:、:、0] = np.ones([400、400])* 255#0は、第一通路ブルーを示し、1秒を表しますチャネル・グリーン3は、Read第3通路を示している 32 33である 共通の単一チャネルグレー画像# 34は、 新たな画像#作成するIMG =([400、400 ,. 1]、np.uint8)np.zeros# 35 #IMGの[します: :0] = np.ones([400、400])* 127 36 IMGのnp.ones =([400、400 ,. 1]、np.uint8) 37 * 127 = IMG IMG 38であります cv.imshow( "新画像"、IMG )# ウィンドウ 39 cv.imwrite( "C:/Users/shinelon/Desktop/DL/001.png")画像#保存する 40 '' ' 41は 42である 。#二次元の初期化印刷画素 43は、 M1 = np.ones([3 ,. 3 ]、np.float32) 44である m1.fill(222.388 ) 45 プリント(M1) 46が 47 M2 = m1.reshape([1,9]) #の変化空間の形状 48 プリント(M2) 49 50 M3 = np.array([[2 ,. 3 ,. 4]、[4 ,. 5 ,. 6]、[7 ,. 8 ,. 9]、np.int32) #1 コンボリューション神経回路が必要となる 51は #1 m3.fill(9) 52で 印刷(M3) 53は れる54 55 プリント(" ------ ----- PythonのOpenCVのチュートリアル" ) 56は、SRC = cv.imread(" :/Users/shinelon/Desktop/DL/12.png C ") #1 ブラケットクラス絶対画像パス 57 cv.namedWindow(" 入力画像" 、cv.WINDOW_AUTOSIZE) 58 cv.imshow(" 入力画像"、SRC) #絵は、Windowsのウィンドウを示して 59 T1 = cv.getTickCount() #を、現在のCPU時間を取得 60 create_image() 61は、 #1 access_pixels(SRC)#長い時間 62は、逆(SRC) #の最適化、短い 63さ T2 = cv.getTickCount() 64 /cv.getTickFrequency() -時間=(T1、T2) #の実行時間MS 65 印刷(" :%S MS時間"%( * 1000年時)) 66 cv.waitKey(0) 67 68 69 cv.destroyAllWindows()