opencv學習筆記 ----繪制直方圖
- 什么是直方圖?
圖像的直方圖是每個點像素值的個數在一個圖中展現,每個通道的像素有多少。
直方圖是圖像一個重要的性質(分析圖片的手段)。
- 計算直方圖
???????opencv中直接計算直方圖的函數,在matplotlib
def han_plt(image):
plt.hist(image.ravel(), 256, [0, 256])
plt.show()
如圖,使用函數后。橫坐標是像素的值,縱坐標是個數。
若想要分開顏色
函數的參數cv.calcHist(images,channels,mask,histSize,ranges,hist=None,accumulate=None)
images:它是uint8類型或float32的源圖像。它應該用方括號括起來,也就是”[img]”。
channels:它也用方括號括起來。它是我們計算直方圖的信道的索引。例如,如果輸入是灰度圖像,它的值是0。對于顏色圖像,您可以通過0、1或2來分別計算藍色、綠色或紅色通道的直方圖。
mask:遮罩圖。為了找到完整圖像的直方圖,它被指定為“None”。但如果你想找到圖像的特定區域的直方圖,你必須為它創建一個遮罩圖,并將其作為遮罩。
histSize:這代表了我們的BINS數。需要用方括號來表示。在整個范圍內,我們通過了256。
ranges:強度值范圍,通常是 [ 0,256 ]
plt.plot()函數,矩陣上那些點,第二個參數是設置顏色
plt.xlim()函數,設置x軸長度從0到256,對應plt.ylim().
具體還有很多Matplotlib函數
def hist_image(image):
color = ("blue", "green", "red")
for i, color in enumerate(color):
hist = cv.calcHist([image], [i], None, [256], [0, 256])
plt.plot(hist, color=color)
plt.xlim([0, 256])
plt.show()
智能推薦
opencv_25直方圖繪制
1.上一篇博客講了直方圖的概念 直方圖不只是對圖像灰度值的統計,也可以對圖像的梯度,像素角度等屬性進行統計。 API 首先要拆分通道,將BGR圖像拆分,每個通道范圍{0-255} 訪問不同通道輸入數組指針 bgr_split[int] 計算直方圖 歸一化 1.在通一個灰度值可能出現多個像素點,超過直方圖的高 繪制直方圖 連接直方圖每個bins的左角點...
python+opencv繪制直方圖
文章目錄 直方圖定義 歸一化直方圖 DIMS: 使用參數的數量 直方圖繪制方法 pyplot繪制直方圖 opencv繪制直方圖 生成掩膜圖像 直方圖均衡化 實例 使用pyplot繪制直方圖 使用calcHist生成灰度圖像直方圖 使用calcHist生成彩色圖像直方圖 繪制掩碼直方圖 生成掩膜圖像 圖像直方圖均衡化 pyplot顯示彩色圖像 直方圖定義 橫坐標:圖像中各個像素點的灰度級 縱坐標:就...
繪制灰度直方圖(OpenCV + Java)
本文介紹一下如何使用Java語言繪制灰度圖的直方圖。由于Java環境下OpenCV不提供Mat圖像的顯示方法,如imshow(),因此需要使用SWing組件自己編寫顯示方法。同時,OpenCV的Jar包也并沒有提供相關的抽象數據類型和方法,比如CvHistogram等。 灰度直方圖是灰度級的函數,描述圖像中該灰度級的像素個數(或該灰度級像素出現的頻率):其橫坐標是灰度級,縱坐標表示圖像中該灰度級出...
OpenCV--直方圖繪制以及直方圖均衡化
OpenCV–直方圖繪制以及直方圖均衡化 一、直方圖均衡化 函數: hist = cv.calcHist( images, channels, mask, histSize, ranges[, hist[, accumulate]] ) images: 原圖像圖像格式為 uint8 或 ?oat32,當傳入函數時應用中括號 [] 括來例如[img]; channels: 同樣用中括號括...
猜你喜歡
freemarker + ItextRender 根據模板生成PDF文件
1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...
電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!
Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...
requests實現全自動PPT模板
http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...