OpenCV+Python相关:在这种情况下,是否需要从RGBA到RGB的转换?

2024-10-01 02:31:36 发布

您现在位置:Python中文网/ 问答频道 /正文

import cv
...
#Let boundaryPixel be the 24-bit representation of the color of the rectangle 
#(e.g., RED in this case)`
boundaryPixel = cv.RGB(255, 0, 0)`
print("valueIs: " + str(boundaryPixel))`
#(0.0, 0.0, 255.0, 0.0), 4 channels reversed?`
...

考虑到上面的代码片段,我想知道为什么OpenCV会以这种方式返回值(即反转,并且使用4个通道而不是3个通道)?在

总的来说,我要做的是扫描图像,搜索RGB值为(255,0,0)的像素。我最初的尝试是在这种情况下定义边界像素,然后循环搜索这些像素并将它们存储在某处。做了些研究,我发现第四个值就是α通道,对吗?所以,我现在有一些类似(红,绿,蓝,阿尔法)的东西,但我不确定是否需要将4个通道转换成3个通道来达到我想要的效果:即比较某个位置的当前像素(X0,Y0),如果它有相同的值(255,0,0),我想保留它们以便进一步的图像处理。在

目前我还使用PIL的getdata()方法来获得像素的值,因此我想定义一个边界像素的起点是什么。我在哪里会遇到一些问题?我的方法是否经过深思熟虑?我不想转换整个图像。我只想把这个像素和我已经定义好的像素进行比较。在

谢谢,如果你们需要更多的信息或者有什么不清楚的,请告诉我!在


Tags: ofthe方法图像import定义bitrgb