2012-03-08 64 views
0

有沒有辦法將像素的矩形塊設置爲opencv中的顏色(特別是在python中),而不是循環遍歷它們?例如某種2d語法語法或者一旦設置了ROI,就會全部改變。將一個像素塊設置爲一種顏色opencv

我曾嘗試im[0:100, 200:300] = (255,255,255)沒有運氣

回答

2

im[0:100,200:300] = [255,255,255]工作正常,我。

如:

>>> im = cv2.imread('baboon.jpg') 
>>> im[0:2,200:202] 
array([[[180, 200, 181], 
     [164, 190, 166]], 

     [[170, 182, 164], 
     [124, 134, 118]]], dtype=uint8) 
>>> im[0:100,200:300] = [255,255,255] 
>>> im[0:2,200:202] 
array([[[255, 255, 255], 
     [255, 255, 255]], 

     [[255, 255, 255], 
     [255, 255, 255]]], dtype=uint8) 

另一種方法是cv2.rectangle

cv2.rectangle(im,(200,0),(300,100),(255,255,255),-1)

但似乎cv2.rectangle比以前切片方法來得更快(約5倍)(按我tesing )

相關問題