日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

现代数字图像处理---lena图像处理

發布時間:2024/8/1 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 现代数字图像处理---lena图像处理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • 實現冪律變換,對lena圖像(灰度)進行處理,觀察在不同gamma數值下圖像的變化和特點。
  • 觀察lena圖像的直方圖,實現lena圖像的直方圖均衡,觀察效果。
  • 代碼及內容展示和分析:

    1.1選用c*log(x,base)來處理lena的每一個像素,并取不同的參數和底數

    import cv2 as cv

    import numpy as np

    import math

    Lena = cv.imread(‘lena.jpeg’,0)

    q = lambda x,a,b:a*math.log(1+x,b)

    bases = [2,math.exp(1),10]

    params = [10,20,30]

    lena_all = [[np.uint8([[q(b,param,base)for b in a]for a in lena])for

    ??????????? param in params]for base in bases]

    [[cv.imshow(f’{bases[a]}-{params[b]}’,lena_all[a][b])for b in range

    ??????????? (len(lena_all[0]))]for a in range(len(lena_all))]

    [[cv.imwrite(f’{bases[a]}-{params[b]}.jpeg’,lena_all[a][b])for b in

    range(len(lena_all[0]))]for a in range(len(lena_all))]

    if cv.waitKey() == ord(‘A’):

    cv.destroyAllWindows()

    (1)當底數為2,參數選擇[10,20,30]時,效果圖如下:

    ? ? ? ? ? ? ? ? ? ? ? ? Fig.1-1? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Fig.1-2? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Fig.1-3

    (2)當底數為自然對數e,參數選擇[10,20,30]時,效果圖如下:

    ?

    ? ? ? ? ? ? ? ? ? ? ?Fig.1-4? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Fig.1-5? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Fig.1-6

    (3)當底數為10,參數選擇[10,20,30]時,效果圖如下:

    ?

    分析:使用對數處理圖像時,圖像會變暗,使用修正參數可使圖像亮度增加。

    1.2選用x^a的形式處理lena的每一個像素

    import cv2 as cv

    import numpy as np

    Lena = cv.imread(‘lena.jpeg’,0)

    q = lambda x,a:pow(x,a)

    power = [0.4,0.6,0.8,1.1,1.6,2.1]

    lena_1 = lena/255

    lena_all = [np.float32([[q(b,power)for b in a]for a in lena_1])for

    ?power in powers]

    lena_re_255 = [np.uint8(a*255)for a in lena_all]

    [cv.imshow(f’{a+1}’,lena_re_255[a])for a in range(len(lena_re_255))]

    [cv.imwrite(f’{a+1}.jpeg’,lena_re_255[a])for a in range(len

    (lena_re_255))]

    If cv.waitKey() == ord(‘A’):

    cv.destroyAllWindows()

    (1)當冪次選定[0.4,0.6,0.8]小于1的冪次時:

    ?

    ? ? ? ? ? ? ? ? ? ? ? Fig.1-10? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Fig.1-11? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Fig.1-12

    (2)當冪次選定[1.1,1.6,2.1]大于1的冪次時:

    ? ? ? ? ? ? ? ? ? ? ? ? Fig.1-13? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Fig.1-14? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Fig.1-15

    分析:當冪次小于1時,越小則圖像的亮度越高;當冪次大于1時,越大則圖像的亮度越低。

    2.lena直方圖及其均衡化

    import cv 2 as cv

    import matplotlib.pyplot as plt

    lena = cv.imread(‘lena.jpeg’,0)

    lena_equ = cv.equalizeHist(lena)

    cv.imshow(‘1’,lena)

    cv.imshow(‘2’,lena_equ)

    cv.imwrite(‘lena_equ.jpeg’,lena_equ)

    plt.figure(‘原始直方圖:‘)

    plt.hist(lena.ravel(),256)

    plt.figure(‘均衡后直方圖:‘)

    plt.hist(lena_equ.ravel(),256)

    plt.show()

    if cv.waitKey() == ord(‘A’):

    ??? cv.destroyAllWindows()

    (1)Lena原始圖和均衡后的lena圖

    ?

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Fig.2-1? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Fig.2-2

    (2)Lena的直方圖和均衡后的直方圖

    ?

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Fig.2-3 ?

    Fig.2-4

    分析:均衡后的lena圖的亮度要比原始圖稍微暗一點;均衡后的直方圖灰度分布更加均勻一點。

    ?

    總結

    以上是生活随笔為你收集整理的现代数字图像处理---lena图像处理的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。