一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

python+opencv圖像處理(十四)

 pythonjava學(xué)習(xí) 2021-04-06
圖像直方圖
1、灰度圖像的直方圖
灰度圖像的直方圖是灰度級和這種灰度級的概率之間關(guān)系的圖形。
直接看圖,下圖中左側(cè)是原圖,右圖為其直方圖。

完整代碼如下:

import cv2 as cv

import matplotlib.pyplot as plt

def his(img,b):#matplotlib畫圖

    plt.figure("histogram")

    plt.title("histogram of lena")

    plt.hist(img.ravel(),bins=b)

    plt.show()

imge=cv.imread(r'E:\\image\\lenagray.jpg')

img=cv.cvtColor(imge,cv.COLOR_RGB2GRAY)

cv.imshow('lena',img)

his(img,256)

cv.waitKey(0)

cv.destroyAllWindows()

也可以用opencv自帶的函數(shù)calcHist()來畫直方圖,結(jié)果如下所示:

我只貼了自定義的函數(shù)代碼如下:

def his(img,bin):#基于opencv API

   hist = cv.calcHist([img],[0],None,[256],[0,255])

   plt.plot(hist,'r')

   plt.show()

此段函數(shù)的調(diào)用過程和上面的代碼是一樣一樣的。
函數(shù)calcHist()的使用方法百度一搜一大把

------------------------------代碼理解了嗎,休息一下吧

------------------------------我是廣告開始的分隔線

--------------------------------我是廣告結(jié)束的分隔線

2、彩色圖像的直方圖
灰度圖像只有一個通道,一般我們畫的是灰度圖像的直方圖。
如果要畫彩色圖像的直方圖,因?yàn)椴噬珗D像有三個通道,其實(shí)就是將三個通道分別來畫直方圖并疊加在一起即可。
如下例所示:

其代碼如下:

import cv2 as cv

import matplotlib.pyplot as plt

import matplotlib as mpl

mpl.rcParams['font.sans-serif']=['SimHei'] #指定默認(rèn)字體 SimHei為黑體

mpl.rcParams['axes.unicode_minus']=False #用來正常顯示負(fù)號

def image_hist(image):     #畫三通道圖像的直方圖

    color = ('b', 'g', 'r')   #這里畫筆顏色的值可以為大寫或小寫或只寫首字母或大小寫混合

    for i , color in enumerate(color):

        hist = cv.calcHist([image], [i], None, [256], [0, 256])  #計(jì)算直方圖

        plt.plot(hist, color)

        plt.xlim([0, 256])

        plt.title("lena的直方圖,不同顏色是不同通道")

    plt.show()

img=cv.imread(r'E:\\image\\lena.jpg')

cv.imshow('image',img)

image_hist(img)

cv.waitKey(0)

cv.destroyAllWindows()

3、掩膜直方圖
圖像的掩膜就是用選定的圖像、圖形或物體,對處理的圖像進(jìn)行遮擋,來控制圖像處理的區(qū)域或處理過程。
還是先上圖:

其完整代碼如下:

import cv2 as cv

import numpy as np

import matplotlib.pyplot as plt

import matplotlib as mpl

mpl.rcParams['font.sans-serif']=['SimHei'] #指定默認(rèn)字體 SimHei為黑體

mpl.rcParams['axes.unicode_minus']=False #用來正常顯示負(fù)號

img = cv.imread('E:\\image\\lena.jpg', 0)

# create a mask  應(yīng)用掩膜

mask = np.zeros(img.shape[:2], np.uint8)#img大小相同

mask[100:300, 100:400] = 255#部分位置全黑

masked_img = cv.bitwise_and(img, img, mask=mask)#掩膜后的圖像,由原圖與掩膜相與得到

hist_full = cv.calcHist([img], [0], None, [256], [0,256])#畫原圖的直方圖

hist_mask = cv.calcHist([img], [0], mask, [256], [0,256])#畫掩膜的直方圖

plt.subplot(221), plt.imshow(img, 'gray'),plt.title("原圖")

plt.subplot(222), plt.imshow(mask,'gray'),plt.title("掩膜")

plt.subplot(223), plt.imshow(masked_img, 'gray'),plt.title("掩膜后的圖")

plt.subplot(224), plt.plot(hist_full, color='r'), plt.plot(hist_mask, color='b')

plt.title("紅色為原圖直方圖,藍(lán)色為掩膜的直方圖")

plt.xlim([0,256])

plt.tight_layout()

plt.show()

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    久久99一本色道亚洲精品| 欧美一区二区三区喷汁尤物| 2019年国产最新视频| 欧美一区二区三区在线播放| 亚洲熟妇熟女久久精品| 久一视频这里只有精品| 国产亚洲午夜高清国产拍精品| 九九热视频网在线观看| 国产一区二区三区av在线| 欧美午夜性刺激在线观看| 操白丝女孩在线观看免费高清| 亚洲男人天堂网在线视频| 亚洲国产成人久久一区二区三区| 国产精品一区二区视频成人| 国产对白老熟女正在播放| 日韩一区二区三区18| 久久这里只有精品中文字幕| 熟女免费视频一区二区| 99久久精品午夜一区二| 丁香六月婷婷基地伊人| 爱在午夜降临前在线观看| 日韩中文字幕欧美亚洲| 91日韩欧美中文字幕| 福利视频一区二区三区| 国产又爽又猛又粗又色对黄 | 少妇福利视频一区二区| 国产日韩欧美在线亚洲| 日韩日韩欧美国产精品| 五月婷婷缴情七月丁香 | 国产麻豆成人精品区在线观看| 黄片免费播放一区二区| 亚洲国产天堂av成人在线播放| 手机在线不卡国产视频| 精品欧美日韩一区二区三区 | 亚洲av日韩一区二区三区四区| 精品伊人久久大香线蕉综合| 好吊色欧美一区二区三区顽频| 九九久久精品久久久精品| 国产丝袜美女诱惑一区二区| 中字幕一区二区三区久久蜜桃| 精品一区二区三区不卡少妇av|