helloworld
先在自己的 base 安裝 nb_conda_kernels
他會掃描全部的 conda 環境然後讓 jupyter kernel 加進去, 搞 python 裝環境真的超煩.. 整個心態炸裂
1 2 3 4 5 6 7 8
| conda activate base conda install nb_conda_kernels
# 切到 cv2 這個環境安裝 ipykernel conda activate cv2 conda install ipykernel conda install opencv conda install matplotlib
|
接著用 jupyter 開啟, 看是喜歡 notebook or lab 都可以
1 2
| jupyter notebook jupyter-lab
|
helloworld 這裡的 %matplotlib inline
可以直接顯示圖片在 cell 上面
opencv 預設的顏色通道是 bgr
而 matplotlib 則是 rgb
所以需要呼叫 cv2.cvtColor(marmot, cv2.COLOR_BGR2RGB)
先轉為 rgb
1 2 3 4 5 6 7
| import cv2 import matplotlib.pyplot as plt %matplotlib inline marmot = cv2.imread('marmot.jpg') marmot = cv2.cvtColor(marmot, cv2.COLOR_BGR2RGB) plt.imshow(marmot) plt.show()
|
如果想讀成灰度的話需要補上 cv2.IMREAD_GRAYSCALE
接著 matplotlib 要加入 colormap 參數 cmap
可以到這邊來找喜歡的 colormap
以前最常用 jet
這樣就可以得到一隻彩色土撥鼠 XD
1 2 3 4 5 6
| marmot = cv2.imread('marmot.jpg', cv2.IMREAD_GRAYSCALE) plt.imshow(marmot, cmap='gray') plt.show()
plt.imshow(marmot, cmap='jet') plt.show()
|
ROI (Region of Interest)
1 2 3 4 5 6
| # 先 Y 後 X y_start, y_end = 50, 250 x_start, x_end = 150, 500 roi_marmot = marmot[y_start:y_end,x_start:x_end] plt.imshow(roi_marmot, cmap='jet') plt.show()
|
可以用 split 分出三個通道的 array 然後調整數值就可以弄出一隻憂鬱的老鼠 LOL
1 2 3 4 5 6 7 8
| marmot = cv2.imread('marmot.jpg') b,g,r = cv2.split(marmot) b[:] = 200
deep_blue = cv2.merge((b,g,r)) deep_blue = cv2.cvtColor(deep_blue, cv2.COLOR_BGR2RGB) plt.imshow(deep_blue) plt.show()
|