【发布时间】:2019-04-29 20:52:15
【问题描述】:
是否可以将图像从 opencv::Mat 存储到 sqlite 数据库(作为 BLOB 或其他类型)? 我可以存储其他变量,如字符串,但不能存储 cv::Mat 。 这是我的功能代码
void SQLiteWrapper::WriteDetectInfo(std::string markName, std::string dmgClass, cv::Mat in)
{
char *zErrMsg = 0;
std::ostringstream strQuery;
strQuery << "INSERT INTO DetectedDamage(Markname, Class, Image)";
strQuery << "VALUES('" << markName;
strQuery << "','" << dmgClass;
strQuery << "'," << in;
strQuery << ");";
std::string query = strQuery.str();
int rc = sqlite3_exec(DB3, query.c_str(), SQLiteWrapper::CallBack, (void*)CB_WRITE_DETECT_INFO, &zErrMsg);
}
【问题讨论】:
-
对要插入的列使用带有参数的准备好的语句,并将适当的值绑定到这些列。详情请见sqlite.org/c3ref/stmt.html。