当我分割图像时,我没有得到红色、绿色、蓝色颜色的框架。我输出的帧是三个灰色图像。
import numpy as np
import cv2
img=cv2.imread("C:\\Users\\Pavan\\Desktop\\bird.jpg")
#display an image
cv2.imshow('image',img)
b,g,r=cv2.split(img)
cv2.imshow('b',b)
cv2.imshow('g',g)
cv2.imshow('r',r)
cv2.waitKey(0)
cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)
在 Python/OpenCV/Numpy 中,有两种方法可以实现这一点。
Method 1 is to copy the image 3 times and set the appropriate other channels to black
Method 2 is to split the image merge each with a black image for the other channels (suggested in comments by Mark Setchell)
Run Code Online (Sandbox Code Playgroud)
输入:
import cv2
import numpy as np
img = cv2.imread('mandril3.jpg')
# Method 1: copy image and set other channels to black
r = img.copy()
r[:,:,0] = r[:,:,1] = 0
g = img.copy()
g[:,:,0] = g[:,:,2] = 0
b = img.copy()
b[:,:,1] = b[:,:,2] = 0
cv2.imshow("red",r)
cv2.imshow("green",g)
cv2.imshow("blue",b)
cv2.waitKey(0)
cv2.destroyAllWindows()
# Method 2: split channels and merge with black channels
b,g,r = cv2.split(img)
k = np.zeros_like(b)
b = cv2.merge([b,k,k])
g = cv2.merge([k,g,k])
r = cv2.merge([k,k,r])
cv2.imshow("red",r)
cv2.imshow("green",g)
cv2.imshow("blue",b)
cv2.waitKey(0)
cv2.destroyAllWindows()
# save results
cv2.imwrite("mandril3_red.jpg", r)
cv2.imwrite("mandril3_green.jpg", g)
cv2.imwrite("mandril3_blue.jpg", b)
Run Code Online (Sandbox Code Playgroud)
红色的:
绿色的:
蓝色的:
| 归档时间: |
|
| 查看次数: |
6481 次 |
| 最近记录: |