生活随笔
收集整理的這篇文章主要介紹了
python-opencv怎样找到要跟踪对象的HSV
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
其實這真的很簡單,函數 cv2.cvtColor() 也可以用到這里。但是現在你要傳入的參數是(你想要
的)BGR 值而不是一副圖。例如,我們要找到綠色的 HSV 值,我們只需在終端輸入以下命令:
**import cv2
import numpy as np
green=np.uint8([
0,
255,
0])
hsv_green=cv2.cvtColor(green,cv2.COLOR_BGR2HSV)
error: /builddir/build/BUILD/opencv-
2.4.6.1/
modules/imgproc/src/color.cpp:
3541:
error: (-
215) (scn ==
3 || scn ==
4) && (depth == CV_8U || depth == CV_32F)
in function cvtColor
#scn (the number of channels of the source),
#i.e. self.img.channels(), is neither
3 nor
4.
#
#depth (of the source),
#i.e. self.img.depth(), is neither CV_8U nor CV_32F.
# 所以不能用 [
0,
255,
0] ,而要用
[[[0,255,0]]]
# 這里的三層括號應該分別對應于 cvArray , cvMat , IplImage
green=np.uint8(
[[[0,255,0]]])
hsv_green=cv2.cvtColor(green,cv2.COLOR_BGR2HSV)
print hsv_green
[[[60 255 255]]]**
**擴展縮放只是改變圖像的尺寸大小。OpenCV 提供的函數 cv2
.resize()
可以實現這個功能。圖像的尺寸可以自己手動設置,你也可以指定縮放因子。我
們可以選擇使用不同的插值方法。在縮放時我們推薦使用 cv2
.INTER_AREA,
在擴展時我們推薦使用 v2
.INTER_CUBIC(慢) 和 v2
.INTER_LINEAR。
默認情況下所有改變圖像尺寸大小的操作使用的插值方法都是 cv2
.INTER_LINEAR。
你可以使用下面任意一種方法改變圖像的尺寸:**
**
"""
@author: Andrew
"""
import cv2
import numpy
as npimg=cv2.imread(
'tu.jpg')
res=cv2.resize(img,
None,fx=
2,fy=
2,interpolation=cv2.INTER_CUBIC)height,width=img.shape[:
2]
res=cv2.resize(img,(
2*width,
2*height),interpolation=cv2.INTER_CUBIC)
while(
1):cv2.imshow(
'res',res)cv2.imshow(
'img',img)
if cv2.waitKey(
1)&
0xFF==
27:
break
cv2.destroyAllWindows()**
總結
以上是生活随笔為你收集整理的python-opencv怎样找到要跟踪对象的HSV的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。