gpt4 book ai didi

visual-studio-2010 - OpenCV:无法用负数制作矩阵

转载 作者:太空宇宙 更新时间:2023-11-03 22:35:01 25 4
gpt4 key购买 nike

我在 Windows 7 的 MS Visual C++ 2010 上使用 OpenCV 2.2。32 位应用程序。

我正在尝试制作以下矩阵。 [-1 0 1].

我试试

cv::Mat Kernel = cv::Mat::zeros(1, 3, CV_8S );

Kernel.data[0] = -1;

Kernel.data[2] = 1;

我得到 [255 0 1]

无论用什么替换 CV_8S,我都会得到相同的结果。

谁能看出我做错了什么?

谢谢,彼得

最佳答案

cv::Mat 的数据成员实际上是 uchar* 而不是 char* 而不管实际的矩阵类型(即 CV_8U),我猜您通过遍历 kernel.data 打印值,而没有将数据从 uchar* 转换为 char*(或者用 watch 检查它们而不做同样的事情),这就是为什么你看不到负数的原因。

此外,你有一个更好的语法来实现相同的目的

cv::Mat kernel = (cv::Mat_<char>(1,3) << -1, 0, -1);

关于visual-studio-2010 - OpenCV:无法用负数制作矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8842259/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com