小编per*_*rr0的帖子

C++尝试Catch内部循环

我有这个C++程序,具有以下一般结构

1st while (condition A == true)
  //some code for 1st loop

  2nd while (condition B == true)
    //some code for 2nd loop
    try
      //some code for try
    catch
      //condition B == false (supposed to leave 2nd loop and go back to first loop)
Run Code Online (Sandbox Code Playgroud)

我希望它在出现异常时离开第二个循环并返回到第一个循环,直到条件B再次出现.如上所述,它不像我期望的那样工作.似乎正在发生的是代码陷入困境catch并且永远不会离开它.

如何安排它以使其按需要工作?

注意:条件A永远不会为假.

c++ try-catch while-loop flow-control

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

使用从缓冲区复制的图像更改cv :: Mat会影响原始图像

我有24位RGB格式的图像缓冲区.使用此缓冲区复制到cv :: Mat

cv::Mat mat = cv::Mat(image->height, image->width, CV_8UC3, image->data);
Run Code Online (Sandbox Code Playgroud)

由于此缓冲区为RGB格式,OpenCV使用BGR格式,因此我将转换mat为BGR

cv::cvtColor(mat, mat, CV_RGB2BGR);
Run Code Online (Sandbox Code Playgroud)

这是有效的,但是当我检查原始图像时,它的通道也会被反转(因此它们会出错),我不希望这种情况发生.

我想反转mat频道命令离开image-data(我的图像缓冲区)不变.我怎样才能做到这一点?

opencv image-processing

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