gpt4 book ai didi

c++ - 将行复制到矩阵导致 OpenCV 崩溃 - Visual Studio 2010 C++

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

我正在尝试将某些行从 src 图像复制到名为 gaps 的新图像。间隙图像将仅包含几行。然而,程序在带有 copyTo 的行崩溃。 Mat src 图像是正确的,它包含我的图像,因为我可以通过 imshow() 查看它。

Mat gaps;
int gap = 6;
for (int r = 0; r < src.rows; r++)
{
if ( r % gap == 0 )
src.row(r).copyTo(gaps.row(r));
}
imshow("gaps", gaps);
waitKey(0);

我在 Windows XP 上使用 OpenCV、Visual Studio 2010 C++。

我试着添加这个:gaps.create(CV_8UC3, 2056,2056); 指定深度和尺寸,但它仍然崩溃。

最佳答案

试试这个:

// if you want your background to be black --> Scalar(0,0,0)
Mat gaps = Mat(src.size(), src.type(), Scalar(0,0,0));

这就是你会得到的,我不知道这是否是你所期望/想要的。

enter image description here


代码

// set your input image
Mat src = imread("{path to input image}");

// your code with the change I proposed
Mat gaps = Mat(src.size(), src.type(), Scalar(0,0,0));
int gap = 6;
for (int r = 0; r < src.rows; r++) {
if ( r % gap == 0 )
src.row(r).copyTo(gaps.row(r));
}
imshow("gaps", gaps);

// create the result image
Mat result = Mat(Size(src.cols * 2, src.rows), src.type(), Scalar(0,0,0));
src.copyTo(result(Rect(0,0,src.cols,src.rows)));
gaps.copyTo(result(Rect(src.cols,0,src.cols,src.rows)));
imshow("result", result);
waitKey();

关于c++ - 将行复制到矩阵导致 OpenCV 崩溃 - Visual Studio 2010 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38018580/

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