學習筆記(02):一學即懂的計算機視覺(第一季)-實戰演練:顏色空間分解

立即學習:https://edu.csdn.net/course/play/26281/327071?utm_source=blogtoedu

有沒有人想買個光度計(照度計)?  ^_^

圖像空間實戰代碼如下:

import cv2 as cv

filename = "D:/python_test/lena.jpg"
img = cv.imread(filename)
gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)  #顏色空間轉換

cv.imshow("Hello,Lena!",img)
cv.imshow("gray",gray)

cv.waitKey()                                #關閉全部窗口繼續向下執行
hsv = cv.cvtColor(img, cv.COLOR_BGR2HSV)    #顏色空間轉換

cv.imshow("Hue(色度)", hsv[:,:,0])
cv.imshow("Saturation(飽和度)", hsv[:,:,1])
cv.imshow("Value(明度)", hsv[:,:,2])

cv.waitKey()                                #關閉全部窗口繼續向下執行
cv.imshow("Blue(藍色)", img[:,:,0])
cv.imshow("Green(綠色)", img[:,:,1])
cv.imshow("Red(紅色)", img[:,:,2])

cv.waitKey()                                #關閉全部窗口繼續向下執行
cv.destroyAllWindows()

濾波函數實戰代碼如下:

import numpy as np
import cv2 as cv

# 原始圖像加入彩色噪聲(高斯噪聲),mean:均值,var:方差
def gauss_noise(image, mean=0, var=0.001):
    image = np.array(image/255, dtype=float)
    noise = np.random.normal(mean, var ** 0.5, image.shape)
    out = image + noise
    if out.min()<0:
        low_clip = -1.
    else:
        low_clip = 0.
    out = np.clip(out, low_clip, 1.0)
    out = np.uint8(out*255)
    return out


filename = "D:/python_test/tree.png"
img = cv.imread(filename)
img = gauss_noise(img)                           #原圖像加入高斯噪聲,這裏只用img一個參數即可

blur = cv.blur(img, (5,5))                       #平均濾波
gauss = cv.GaussianBlur(img, (5,5) ,0)           #高斯濾波
median = cv.medianBlur(img, 5)                   #中值濾波
bilateral = cv.bilateralFilter(img, 5, 150 ,150) #雙邊濾波

cv.imshow("Image(原始加噪後的圖像)", img)
cv.imshow("Blurred(平均濾波後的圖像)", blur)
cv.imshow("Gauss(高斯濾波後的圖像)", gauss)
cv.imshow("Median filtered(中值濾波後的圖像)", median)
cv.imshow("Bilateral filtered(雙邊濾波後的圖像)", bilateral)

cv.waitKey()                                      #關閉全部窗口繼續向下執行
cv.destroyAllWindows()

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章