OpenCV中矩阵与列向量的互相转换

本文档介绍了一个自定义的MatConverter类,用于在OpenCV中将矩阵转换为列向量以及将列向量转换回矩阵。类包含两个静态方法:MatToColumnVector和ColumnVectorToMat,用于在不同尺寸之间转换。测试用例展示了转换过程和错误处理情况。
摘要由CSDN通过智能技术生成
   由于在使用OpenCV的神经网络的过程中,需要将样本保存为列向量或者行向量的形式,而在图像处理中,OpenCV读取进行的图像是以矩阵的形式保存的,因此,需要将矩阵转换为列向量的形式,由于我并没有在OpenCV的帮助文档中找到这样的一个函数(如果您发现有这样函数,请告诉我,谢谢),所以考虑自己写一个简单的转化器。


matconverter.h
/*M///
// Copyright (c) 2014, sheng
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
//
//     * Redistributions of source code must retain the above copyright notice,
//       this list of conditions and the following disclaimer.
//
//     * Redistributions in binary form must reproduce the above copyright notice,
//       this list of conditions and the following disclaimer in the documentation
//       and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
//M*/



#ifndef MATCONVERTER_H
#define MATCONVERTER_H

#include "opencv2/opencv.hpp"


/**
 * @brief The MatConverter class The class used to change the size of the mat.
 *
 * @author sheng
 * @date   2014-09-18
 * @version 0.1
 *
 * @history
 *     <author>       <date>         <version>        <description>
 *      sheng       2014-09-18          0.1          build the module
 *
 */
class MatConverter
{
    public:
        MatConverter();
        static bool MatToColumnVector(const cv::Mat& InputMat,
  
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值