amsw11 2015-09-15 09:50 采纳率: 0%
浏览 1756

opencv 一段代码出错了

显示.exe停止工作,但是去掉那个for循环就可以运行,是ptr<>的使用不当吗
#include
#include
#include

#include

using namespace std;
using namespace cv;

int main()
{
// 读入一张图片

Mat img = imread("F:/vsprogram/projecttest/01.jpg");
// 创建一个名为 "picture"窗口

namedWindow("picture");

//创建一个等大图像
Mat  new_img(img.rows,img.cols,CV_8UC3);
//row 行height
for (int  j= 0; j<img.rows; j++)
{

    for (int i = 0; i < img.cols; i++)
    {
        int y=j;
        int x = i;
        new_img.ptr<float>(y)[x] = img.ptr<float>(j)[i];
    }
}


// 在窗口中显示原画  
imshow("picture", new_img);

// 等待6000 ms后窗口自动关闭 
waitKey(6000);

}

  • 写回答

3条回答 默认 最新

  • oyljerry 2015-09-15 10:15
    关注

    先看是不是指针,数组等越界了,指针是否合法等。

    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作