有沒有辦法將像素的矩形塊設置爲opencv中的顏色(特別是在python中),而不是循環遍歷它們?例如某種2d語法語法或者一旦設置了ROI,就會全部改變。將一個像素塊設置爲一種顏色opencv
我曾嘗試im[0:100, 200:300] = (255,255,255)
沒有運氣
有沒有辦法將像素的矩形塊設置爲opencv中的顏色(特別是在python中),而不是循環遍歷它們?例如某種2d語法語法或者一旦設置了ROI,就會全部改變。將一個像素塊設置爲一種顏色opencv
我曾嘗試im[0:100, 200:300] = (255,255,255)
沒有運氣
你應該看看CV.Rectangle,這不正是你想要什麼:) http://opencv.willowgarage.com/documentation/python/core_drawing_functions.html?highlight=rectangle#Rectangle
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 )