我正在尝试从flea3相机(使用代码“ FL3-U3-32S2C-CS”,显示其为彩色相机)中获取彩色图像(本例中的rgb或bgr无差异),但是我的代码生成了灰度照片...下面的代码段有什么问题?有什么主意吗?
# Begin acquiring images
cam.BeginAcquisition()
# Retrieve next image and convert it
image_result = cam.GetNextImage()
img_converted = image_result.Convert(PySpin.PixelFormat_RGB8, PySpin.HQ_LINEAR)
# Convert the Image object to RGB array
width = image_result.GetWidth()
height = image_result.GetHeight()
rgb_array = img_converted.GetData()
rgb_array = rgb_array.reshape(height, width, 3)
答案 0 :(得分:1)
这是应该怎么做:
### Set Pixel Format to RGB8 ###
node_pixel_format =
PySpin.CEnumerationPtr(nodemap.GetNode('PixelFormat'))
if not PySpin.IsAvailable(node_pixel_format) or not PySpn.IsWritable(node_pixel_format):
print('Unable to set Pixel Format to RGB8 (enum retrieval). Aborting...')
node_pixel_format_RGB8 = node_pixel_format.GetEntryByName('RGB8')
if not PySpin.IsAvailable(node_pixel_format_RGB8) or not PySpin.IsReadable(node_pixel_format_RGB8):
print('Unable to set Pixel Format to RGB8 (entry retrieval). Aborting...')
pixel_format_RGB8 = node_pixel_format_RGB8.GetValue()
node_pixel_format.SetIntValue(pixel_format_RGB8)
答案 1 :(得分:0)
我遇到了同样的问题,但使用USB上的Blackfly S相机。我必须使用一种特定的格式才能使其正常工作。采集前,我还要在相机上设置像素格式。
cam.PixelFormat.SetValue(PySpin.PixelFormat_BGR8)
cam.BeginAcquisition()
image_result = cam.GetNextImage()
image_converted = image_result.Convert(PySpin.PixelFormat_BGR8)
# Convert the Image object to RGB array
width = image_result.GetWidth()
height = image_result.GetHeight()
rgb_array = image_converted.GetData()
rgb_array = rgb_array.reshape(height, width, 3)