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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

Python,OpenCV进行直方图反投影

發布時間:2023/11/27 生活经验 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python,OpenCV进行直方图反投影 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python,OpenCV進行直方圖反投影

    • 1. 效果圖
    • 2. 源碼
    • 參考

這篇博客將介紹Python,OpenCV中的直方圖反投影。直方圖反投影用于圖像分割或在圖像中查找感興趣的對象。 簡單地說,它創建了一個與輸入圖像大小相同(但只有一個通道)的圖像,其中每個像素對應于該像素屬于感興趣對象的概率。輸出圖像將使感興趣的對象比其余部分更白。如提取圖像中的地面;

顏色直方圖優于灰度直方圖,因為物體的顏色比灰度強度更好地定義物體。

1. 效果圖

如下官方的提取地面的效果圖如下:

2. 源碼

import cv2
import numpy as np# ROI是感興趣區域
roi = cv2.imread('rose_red.png')
hsv = cv2.cvtColor(roi, cv2.COLOR_BGR2HSV)# 需要尋找的ROI對象
target = cv2.imread('rose.png')
hsvt = cv2.cvtColor(target, cv2.COLOR_BGR2HSV)# 計算ROI對象的直方圖 cv.calcHist  np.histogram2d np.binscount
roihist = cv2.calcHist([hsv], [0, 1], None, [180, 256], [0, 180, 0, 256])# 直方圖均衡化,并應用反投影
cv2.normalize(roihist, roihist, 0, 255, cv2.NORM_MINMAX)
dst = cv2.calcBackProject([hsvt], [0, 1], roihist, [0, 180, 0, 256], 1)# 用橢圓進行卷積
disc = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (5, 5))
cv2.filter2D(dst, -1, disc, dst)# 閾值化并使用按位與
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.imwrite('res.jpg', res)

參考

  • https://docs.opencv.org/3.0-beta/doc/py_tutorials/py_imgproc/py_histograms/py_histogram_backprojection/py_histogram_backprojection.html#histogram-backprojection

總結

以上是生活随笔為你收集整理的Python,OpenCV进行直方图反投影的全部內容,希望文章能夠幫你解決所遇到的問題。

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