本文介紹了python OpenCV學(xué)習(xí)筆記直方圖反向投影的實(shí)現(xiàn),分享給大家,具體如下:
創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括柞水網(wǎng)站建設(shè)、柞水網(wǎng)站制作、柞水網(wǎng)頁(yè)制作以及柞水網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,柞水網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到柞水省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!官方文檔 – https://docs.opencv.org/3.4.0/dc/df6/tutorial_py_histogram_backprojection.html
它用于圖像分割或?qū)ふ覉D像中感興趣的對(duì)象。簡(jiǎn)單地說(shuō),它創(chuàng)建一個(gè)與我們的輸入圖像相同大?。ǖ珕瓮ǖ溃┑膱D像,其中每個(gè)像素對(duì)應(yīng)于屬于我們對(duì)象的像素的概率。輸出圖像將使我們感興趣的對(duì)象比其余部分更白。
該怎么做呢?我們創(chuàng)建一個(gè)圖像的直方圖,其中包含我們感興趣的對(duì)象。為了得到更好的結(jié)果,對(duì)象應(yīng)該盡可能地填充圖像。而顏色直方圖比灰度直方圖更受青睞,因?yàn)閷?duì)象的顏色比灰度強(qiáng)度更能定義對(duì)象。然后,我們?cè)谖覀兊臏y(cè)試圖像上“反向投射”這個(gè)直方圖,我們需要找到這個(gè)對(duì)象,換句話說(shuō),我們計(jì)算每個(gè)像素的概率,并顯示它。在適當(dāng)?shù)拈撝瞪袭a(chǎn)生的輸出結(jié)果使我們得到了一個(gè)單獨(dú)的結(jié)果。
Numpy中的算法
1、首先,我們需要計(jì)算我們需要找到的對(duì)象的顏色直方圖(讓它為'M')和我們將要搜索的圖像(讓它為'I')。
import numpy as np import cv2 as cv from matplotlib import pyplot as plt # roi是我們需要找到的對(duì)象或區(qū)域 roi = cv.imread('rose_red.png') hsv = cv.cvtColor(roi, cv.COLOR_BGR2HSV) # target是我們搜索的圖像 target = cv.imread('rose.png') hsvt = cv.cvtColor(target, cv.COLOR_BGR2HSV) # 用calcHist來(lái)找直方圖,也可以用np.histogram2d M = cv.calcHist([hsv], [0,1], None, [180,256], [0,180,0,256]) I = cv.calcHist([hsvt], [0,1], None, [180,256], [0,180,0,256])
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。