python使用numpy實現(xiàn)直方圖反向投影示例
最近跟著OpenCV2-Python-Tutorials在學(xué)習(xí)python_opencv中直方圖的反向投影時,第一種方法是使用numpy實現(xiàn)將圖中的紅色玫瑰分割出來,教程給的代碼缺了一句函數(shù),導(dǎo)致實現(xiàn)不出來。
自己加上了后(也不知到這樣加對不對)代碼和效果如下:
代碼:
import cv2
import numpy as np
roi = cv2.imread('./data/rose_red.jpg')
hsv = cv2.cvtColor(roi,cv2.COLOR_BGR2HSV)
#target is the image we search in
target = cv2.imread('./data/rose.jpg')
cv2.imshow('target',target)
hsvt = cv2.cvtColor(target,cv2.COLOR_BGR2HSV)
# Find the histograms using calcHist. Can be done with np.histogram2d also
M = cv2.calcHist([hsv],[0, 1], None, [180, 256], [0, 180, 0, 256] )
print(M)
I = cv2.calcHist([hsvt],[0, 1], None, [180, 256], [0, 180, 0, 256] )
h,s,v = cv2.split(hsvt)
#斜體是自己加上的
R=M/I
print(R.shape)
B = R[h.ravel(),s.ravel()]
print(B)
B = np.minimum(B,1)
print(B)
B = B.reshape(hsvt.shape[:2])
disc = cv2.getStructuringElement(cv2.MORPH_ELLIPSE,(9,9))
B=cv2.filter2D(B,-1,disc)
B = np.uint8(B)
cv2.normalize(B,B,0,255,cv2.NORM_MINMAX)
cv2.imshow('B',B)
ret,thresh = cv2.threshold(B,2,255,0)
cv2.imshow('thresh',thresh)
res = cv2.bitwise_and(target,target,mask=thresh)
cv2.imshow('res',res)
cv2.waitKey(0)
效果:
rose_red.jpg

rose.jpg

result:

以上這篇python使用numpy實現(xiàn)直方圖反向投影示例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
yolov5使用flask部署至前端實現(xiàn)照片\視頻識別功能
初學(xué)者在使用YOLO和Flask構(gòu)建應(yīng)用時,往往需要實現(xiàn)上傳圖片和視頻的識別功能,本文介紹了如何在Flask框架中實現(xiàn)這一功能,包括文件上傳、圖片放大查看、視頻識別以及識別后的文件下載,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2024-09-09
在Python中使用mongoengine操作MongoDB教程
這篇文章主要介紹了在Python中使用mongoengine操作MongoDB教程,包括在Django下的一些使用技巧,需要的朋友可以參考下2015-04-04
教你如何在pycharm中安裝opencv,tensorflow,keras
今天通過本教程教大家如何在pycharm中安裝opencv,tensorflow,keras,本文分步驟給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-08-08
Python subprocess模塊功能與常見用法實例詳解
這篇文章主要介紹了Python subprocess模塊功能與常見用法,結(jié)合實例形式詳細分析了subprocess模塊功能、常用函數(shù)相關(guān)使用技巧,需要的朋友可以參考下2018-06-06
Python中uuid模塊生成唯一標(biāo)識符的方法詳解
這篇文章主要給大家介紹了關(guān)于Python中uuid模塊生成唯一標(biāo)識符的相關(guān)資料,uuid庫是Python標(biāo)準(zhǔn)庫中的一個功能強大的庫,可以用于生成全局唯一標(biāo)識符(UUID),文中通過代碼介紹的非常詳細,需要的朋友可以參考下2024-08-08

