プロが教える店舗&オフィスのセキュリティ対策術

opencvに関する質問です。
64×64画像の画素値をMat行列に格納し、
その行列をvectorに変換するプログラムなのですが、
その変換の部分でうまくいきません。原因はなんでしょうか。

よろしくお願いいたします。


#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include<stdio.h>
#include<iostream>
#include<fstream>
#include<vector>
#include <stdlib.h>
using namespace cv;
using namespace std;

int main(int argc, char *argv[])
{
Mat src[30];//画素値格納配列
vector <float> v1;
char name[30];//分割画像の各bmp画像の格納配列

sprintf(name, "分割1-1\0015.bmp",);//画像をnameへ格納
Mat A = imread(name);//Aにnameを読み込み
A.convertTo(src[0], CV_32F);//Aを32bitに変換し、src[]配列へ
src[0] = src[0].reshape(0,1);
src[0].copyTo(v1);

waitKey(0);
return 0;
}

A 回答 (1件)

> その変換の部分でうまくいきません



「うまくいかない」とは、具体的にどんな現象から判断していますか?



もし、実際のプログラムもこのままだとしたら、cv::Mat とか std::vector の問題ではなくて

sprintf(name, "分割1-1\0015.bmp",);//画像をnameへ格納

が問題なのでは?
CやC++での文字列のこと、よく思い出してください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!