rui130129 2017-03-24 06:49 采纳率: 0%
浏览 5759

不存在从"int"转换到"std::vector<cv::Mat,>>"的适当构造函数

void Cut_img(Mat src_img, int m, int n, vector ceil_img)
{
int t = m * n;
int height = src_img.rows;
int width = src_img.cols;

int ceil_height = height / m;
int ceil_width = width / n;

Mat roi_img, tmp_img;

Point p1, p2;
for (int i = 0; i<m; i++)
    for (int j = 0; j<n; j++) {
        //p1 = 
        Rect rect(i + j*ceil_width, j + i*ceil_height, ceil_width, ceil_height);

        src_img(rect).copyTo(roi_img);

        ceil_img.push_back(roi_img);
        imshow("roi_img", roi_img);
        //getchar();
        waitKey(0);
        //rectangle(i+j*ceil_width,j+i*ceil_height,);
    }

}

void show_images(vector imgs, int n) {

//do something

}

int _tmain(int argc, _TCHAR* argv[])
{
Mat img = imread("dog.jpg", 1);
imshow("src img", img);
int m = 3;
int n = 3;
vector ceil_img = m*n;

Cut_img(img, m, n, ceil_img);

waitKey();
return 0;

}
整个代码是图片剪切的代码,问题出现在倒数第三行代码,cut_img(img,m,n,ceil_img);
错误为:不存在从"int"转换到"std::vectorcv::Mat,std::allocator<cv::Mat>"的适当构造函数

还有错误C2440:"初始化":无法从“int”转换为"std::vectorcv::Mat,std::allocator<_Ty>"

  • 写回答

4条回答

  • 深蓝和红叶 2017-03-24 07:24
    关注

    楼主你这是要干什么 ceil_img 是个类吧 这样初始化的话 vector这个类得提供适当的转换构造函数才行 如果你想分配m*n大小的空间 应该是这样
    vector ceil_img(m*n); 昨天才建的博客 还不怎么会弄 0.0 一打下划线就变成斜体

    评论

报告相同问题?

悬赏问题

  • ¥15 用visual studi code完成html页面
  • ¥15 聚类分析或者python进行数据分析
  • ¥15 逻辑谓词和消解原理的运用
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?