首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用BayerRG8 (FLIR)调整BayerRG8图像的大小,将其更改为灰度

使用BayerRG8 (FLIR)调整BayerRG8图像的大小,将其更改为灰度
EN

Stack Overflow用户
提问于 2022-07-13 21:38:51
回答 1查看 136关注 0票数 2

我正在使用FLIR黑蝇S BFS-PGE-31S4C收集视频,并用python编写视频,使用PySpin包。我想增加一个实时的视频预览,以便我可以看到什么是被记录的,并希望缩小图像,以便我可以很容易地看到我的屏幕上的整个框架。下面是我的当前代码:

代码语言:javascript
复制
im = cam.GetNextImage(PySpin.EVENT_TIMEOUT_INFINITE if wait else PySpin.EVENT_TIMEOUT_NONE)
im = im.GetNDArray()
resize_factor = 2

cv2.imshow("test1",cv2.cvtColor(im, cv2.COLOR_BAYER_RG2RGB))
cv2.waitKey(0)

im = im[::resize_factor,::resize_factor]

cv2.imshow("test2",cv2.cvtColor(im, cv2.COLOR_BAYER_RG2RGB))
cv2.waitKey(0)

摄像机以拜耳RG8格式记录。PySpin有一个.GetNDArray()方法,它将图像转换为numpy数组(我认为仍然是拜耳RG8格式,因为值是uint8)。当我在调整大小之前查看numpy数组的(type(im),type(im[0]),type(im[0][0]))类型时,它是一个包含numpy.uint8值的2D numpy.ndarray,在调整图像大小之后也是如此。当我显示第一个图像(转换前)时,它是彩色的。当我显示第二个调整大小的图像时,它是灰度的,只是忽略了cv2.cvtColor()调用。

我认为这可能与原始图像的BayerRG8格式有关,但不确定为什么调整大小会以这种方式影响它,因为我对该图像格式不太了解。如有任何关于我的问题的建议或改进问题的建议,我们将不胜感激!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-13 21:49:32

调整拜耳图像的大小是非常棘手的。请记住,颜色组件是交错的:

代码语言:javascript
复制
R G R G R G ...
G B G B G B ...
R G R G R G ...

您的简单抽取将不会尊重像素值。如果你抽取2,你就会得到R平面。您应该使用图像库来进行大小调整,而不仅仅是抽取,而且可能应该首先转换为RGB。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72972914

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档