2022年2月22日 星期二

s1081533 作業1

 1. 開發環境

  • mac 11.4
  • Google colab
  • opencv 4.1.2

2. 程式流程

先將雲端硬碟掛載於colab上。
from google.colab import drive
drive.mount('/content/gdrive')
引入opencv並查看版本資訊。
import cv2
from google.colab.patches import cv2_imshow
print(cv2.__version__)
用imread讀入雲端硬碟中圖片,並用imshow查看是否讀入和顯示
imgin = cv2.imread("/content/gdrive/MyDrive/yzu/影像處理/bookGray.jpg",0) #讀取灰階原始圖片
cv2_imshow(imgin)
查看圖片的shape,並根據shape用numpy中的np.zero()產生像素點矩陣,並將每個點像素值加120.整體圖片效果會變亮。
import numpy as np
imgnum=np.zeros((688,688),imgin.dtype)+120
imgnew=cv2.add(imgin,imgnum)
cv2_imshow(imgnew)
使用numpy中的np.concatenate()將原始圖片與變亮的圖片連接顯示,更方便觀察。
最後用imwrite存入雲端資料夾中。
image = np.concatenate([imgin, imgnew],axis=1)
cv2_imshow(image)
cv2.imwrite("/content/gdrive/MyDrive/yzu/影像處理/graycon.jpg",image)
因opencv中3個channel的順序為B,G,R。所以這裡是imgRGB(i,j,2):i和j為圖片的每個像素點,而2代表則是R channel。np.clip()是限制像素值在0-255之間。
#opencv2 :b,g,r
num=np.zeros((512,512,3),imgin.dtype)
for i in range(imgRGB.shape[0]):
for j in range(imgRGB.shape[1]):
imgRGB[i,j,2]=np.clip(imgRGB[i,j,2]+100,0,255) #
cv2_imshow(imgRGB)
cv2.imwrite("/content/gdrive/MyDrive/yzu/影像處理/RGB.jpg",imgRGB)

3. 圖片執行結果

左圖為原圖,右圖為+100結果












左圖為原圖,中間為R+100,右圖為R-100











4. demo影片







沒有留言:

張貼留言