為了保證獨立性,使用miniconda3
新建python環境;
以下所有**都在jupyter notebook
中編寫、執行成功;
import cv2
import numpy as np
# read picture
img_colored = cv2.imread("opencv.png", 1) # colored image.
img_gray = cv2.imread("opencv.png", 0) # black and white image.
print(img_gray, '\n', type(img_gray), '\n', img_gray.shape)
[[255 255 255 ... 255 255 255]
[255 255 255 ... 255 255 255]
[255 255 255 ... 255 255 255]
...[255 255 255 ... 255 255 255]
[255 255 255 ... 255 255 255]
[255 255 255 ... 255 255 255]]
(610, 570)
但是在使用.shape
方法時,返回的是矩陣資訊,即行×列,就要變成549×689了。
讀取後的資料型別為np.ndarray
,意味著我們可以通過操作numpy、pandas等工具,來操作影象。
print(img_colored, "\nimg_colored.shape:", img_colored.shape)
[[[255 255 255]
[255 255 255]
[255 255 255]
...[255 255 255]
[255 255 255]
[255 255 255]]
[[255 255 255]
[255 255 255]
[255 255 255]
...[255 255 255]
[255 255 255]
[255 255 255]]
[[255 255 255]
[255 255 255]
[255 255 255]
...[255 255 255]
[255 255 255]
[255 255 255]]
...[[255 255 255]
[255 255 255]
[255 255 255]
...[255 255 255]
[255 255 255]
[255 255 255]]
[[255 255 255]
[255 255 255]
[255 255 255]
...[255 255 255]
[255 255 255]
[255 255 255]]
[[255 255 255]
[255 255 255]
[255 255 255]
...[255 255 255]
[255 255 255]
[255 255 255]]]
img_colored.shape: (610, 570, 3)
如何理解610×570×3從矩陣的形式來看,有610個"元素",每個元素是570x3維的矩陣;
從影象的角度來看,先按行分割(610),每一行有616列,每列元素都有rgb三種屬性,所以是616×3;
# show image
cv2.namedwindow("opencv", cv2.window_autosize)
cv2.imshow("opencv", img_gray) # "penguins": title of image
cv2.waitkey(0)
cv2.destroyallwindows() # 關閉所有視窗;
這裡的操作是縮放而不是裁剪;
CUDA學習 Chapter 0 綜述
其實書上並沒有第0章啦,這篇東西是我自己寫的,談談cuda到底是什麼,以及cuda的基本使用和c之間的同異。平行計算,是一種和序列計算有著本質區別的運算。根據傳統的計算機計算的理論,計算機處理的資料分為兩種,指令流和資料流,因此就有幾種不同的計算方式 1.sisd,單指令單資料,也就是乙個指令對應乙...
Xv6 chapter 0 學習筆記
xv 6 chapter 0 operating system inte ces 作業系統的工作是分享電腦資源給多個程式,並且提供一系列服務而不是只讓硬體提供。作業系統通過介面給使用者程式提供服務,所以設計乙個好的介面就顯得很重要。這裡作業系統xv6提供基礎的介面,由ken thompson 和de...
opencv 0 安裝與配置
windows下可以安裝opencv的exe版本,已經編譯好了,很省事。這裡以opencv 2.4.13.5.exe為例 2 將opencv根目錄 build python 2.7 x64下的cv2.pyd拷貝到python根目錄 lib site packages下面。若系統為32位則選擇open...