相关疑难解决方法(0)

如何从OpenCV 2中获取图像的通道数?

答案我可以确定cv :: Mat Opencv中的通道数为OpenCV 1回答这个问题:你使用Mat.channels()图像的方法.

但是在cv2(我使用2.4.6)中,我所拥有的图像数据结构没有channels()方法.我正在使用Python 2.7.

代码段:

cam = cv2.VideoCapture(source)
ret, img = cam.read()
# Here's where I would like to find the number of channels in img.
Run Code Online (Sandbox Code Playgroud)

互动尝试:

>>> img.channels()
Traceback (most recent call last):
  File "<interactive input>", line 1, in <module>
AttributeError: 'numpy.ndarray' object has no attribute 'channels'
>>> type(img)
<type 'numpy.ndarray'>
>>> img.dtype
dtype('uint8')
>>> dir(img)
['T',
 '__abs__',
 '__add__',
...
 'transpose',
 'var',
 'view']
# Nothing obvious that would expose the …
Run Code Online (Sandbox Code Playgroud)

python opencv image channels

12
推荐指数
2
解决办法
3万
查看次数

了解 Mat 元素 Opencv 的值

根据我的问题, 我可以确定 cv::Mat Opencv 中的通道数吗

我使用相同的代码来找到图像的高斯拉普拉斯算子。在图像中可以很好地检测到对象周围的边缘。

如何访问最终输出图像的单个元素值abs_dst_gray

我知道我必须使用 '.at' 运算符,而且我还发现它的数据类型是CV_8U. 我尝试了以下

cout<<abs_dst_gray.at<uchar>(10,10)<<endl;
Run Code Online (Sandbox Code Playgroud)

但是使用这种方法,我无法知道它在那里拥有什么价值。我怎样才能找到那个值?如果我使用intor long,我最终会得到垃圾值。我一直有这个错误和问题。请在这里帮助我。我需要这些值,以便我可以尝试确定在边缘中给出的边界值,稍后我可以将其用于分割目的。

c++ opencv mat

2
推荐指数
1
解决办法
326
查看次数

将CV_16SC2 Mat保存到文件OpenCV

我想将CV_16SC2矩阵保存到文件中.它是initUndistortRectifyMap的结果.我需要它以二进制形式,后来我想从文件中读取它.最好的方法是什么(YAML,因为所需的空间,XML很糟糕)?

opencv

1
推荐指数
1
解决办法
3140
查看次数

打印cvMat频道

我怎样才能打印是否cvMatRGB,BGR还是GRAY?我需要这样做的原因是因为我需要将图像转换为GRAY并且在尝试时已经给出了这样的错误CV_RGB2GRAY

OpenCV Error: Assertion failed (scn == 3 || scn == 4) in cvtColor

c++ opencv

1
推荐指数
1
解决办法
152
查看次数

标签 统计

opencv ×4

c++ ×2

channels ×1

image ×1

mat ×1

python ×1