摘要:理論直方圖反向投影用于圖像分割或查找圖像中感興趣的對(duì)象簡(jiǎn)單來(lái)說,它會(huì)創(chuàng)建一個(gè)與輸入圖像大小相同單個(gè)通道的圖像其中每個(gè)像素對(duì)應(yīng)于屬于我們對(duì)象該像素的概率輸出圖像將使我們感興趣的對(duì)象比其余部分更明顯首先,我們創(chuàng)建一個(gè)包含我們感興趣對(duì)象的圖像的
Histogram - 4 : Histogram Backprojection
理論直方圖反向投影用于圖像分割或查找圖像中感興趣的對(duì)象,簡(jiǎn)單來(lái)說,它會(huì)創(chuàng)建一個(gè)與輸入圖像大小相同(單個(gè)通道)的圖像,其中每個(gè)像素對(duì)應(yīng)于屬于我們對(duì)象該像素的概率.輸出圖像將使我們感興趣的對(duì)象比其余部分更明顯.
首先,我們創(chuàng)建一個(gè)包含我們感興趣對(duì)象的圖像的直方圖,對(duì)象應(yīng)盡可能填充圖像以獲得更好的結(jié)果,顏色直方圖比灰度直方圖更受青睞,因?yàn)閷?duì)象的顏色比灰度強(qiáng)度更能定義對(duì)象,然后我們將這個(gè)直方圖“反投影”到我們需要找到對(duì)象的測(cè)試圖像上.
OpenCV中的反投影OpenCV提供了一個(gè)內(nèi)置函數(shù)cv.calcBackProject()。 它的參數(shù)與cv.calcHist()函數(shù)幾乎相同. 此外,在傳遞給backproject函數(shù)之前,應(yīng)該對(duì)象直方圖進(jìn)行標(biāo)準(zhǔn)化. 它返回概率圖像,然后我們將圖像與內(nèi)核卷積并應(yīng)用閾值.
代碼:
import cv2 import numpy as np from matplotlib import pyplot as plt # roi是我們需要找到的對(duì)象或區(qū)域 roi = cv2.imread("img_roi.png") hsv = cv2.cvtColor(roi, cv2.COLOR_BGR2HSV) # target是我們搜索的圖像 target = cv2.imread("img.jpg") hsvt = cv2.cvtColor(target, cv2.COLOR_BGR2HSV) # 計(jì)算對(duì)象的直方圖 roihist = cv2.calcHist([hsv], [0,1], None, [180,256], [0,180,0,256]) # 標(biāo)準(zhǔn)化直方圖,并應(yīng)用投影 cv2.normalize(roihist, roihist, 0, 255, cv2.NORM_MINMAX) dst = cv2.calcBackProject([hsvt], [0,1], roihist, [0,180,0,256], 1) # 與磁盤內(nèi)核進(jìn)行卷積 disc = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (5,5)) cv2.filter2D(dst, -1, disc, dst) # 閾值、二進(jìn)制按位和操作 ret, thresh = cv2.threshold(dst, 50, 255, 0) thresh = cv2.merge((thresh, thresh, thresh)) res = cv2.bitwise_and(target, thresh) res = np.vstack((target, thresh, res)) cv2.imshow("res", res) cv2.waitKey()
原圖:
感興趣區(qū)域:
結(jié)果:
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/42038.html
摘要:算法的基本原理簡(jiǎn)單假設(shè)我們有一堆點(diǎn),和一個(gè)小的圓形窗口,算法就是不斷移動(dòng)小圓形窗口,直到找到圓形區(qū)域內(nèi)最大灰度密度處為止初始窗口以藍(lán)色圓圈顯示,名稱為其原始中心標(biāo)有藍(lán)色矩形,名為但是,這個(gè)窗口當(dāng)中所有點(diǎn)的點(diǎn)集構(gòu)成的質(zhì)心在藍(lán)色圓形點(diǎn)處圓環(huán)的型 Meanshift and Camshift Meanshift Meanshift 算法的基本原理簡(jiǎn)單,假設(shè)我們有一堆點(diǎn),和一個(gè)小的圓形窗口,...
閱讀 1026·2023-04-25 21:21
閱讀 3366·2021-11-24 09:39
閱讀 3209·2021-09-02 15:41
閱讀 2190·2021-08-26 14:13
閱讀 1983·2019-08-30 11:18
閱讀 2975·2019-08-29 16:25
閱讀 654·2019-08-28 18:27
閱讀 1735·2019-08-28 18:17