画像反転変換


//图片翻转
void COpenCVTestDlg::OnCbnSelchangeComboFlip()
{
       if (m_comboFlip.GetCurSel() == -1)
              return;
       if (!m_srcMatImg.empty())
       {
              CString szFlip;
              m_comboFlip.GetLBText(m_comboFlip.GetCurSel(), szFlip);
              if (szFlip == L"水平翻转")
              {
                     //水平方向翻转 参数值为1   参数>0位水平翻转
                     cv::flip(m_srcMatImg, m_dstMatImg, 1);
              }
              else if (szFlip == L"垂直翻转")
              {
                     //垂直方向翻转 参数值为0 参数=0位垂直翻转
                     cv::flip(m_srcMatImg, m_dstMatImg, 0);
              }
              else
              {
                     //水平和垂直方向同时翻转 参数值为-1 参数<0位水平垂直翻转
                     cv::flip(m_srcMatImg, m_dstMatImg, -1);
              }
       }
}

void brief(InputArray src、OutputArray dst、int briefCode);

    src:は処理する元の画像です

    dst:元の画像と同じサイズとタイプのターゲット画像です

    フリップコード:回転タイプです

        = 0、x軸方向を反転します

        > 0の場合、y軸方向が反転します

        <0の場合、x軸とy軸が同時に反転します

    この関数では、ターゲットピクセルと元のピクセルの関係は次のように表されます。

        

Y方向翻转
cv::flip(m_srcImage, m_dstImage, 1);
X方向翻转
cv::flip(m_srcImage, m_dstImage, 0);
XY两方向翻转
cv::flip(m_srcImage, m_dstImage, -1);

元の画像

フリップ

自分で書いたフリップ変換もありますので、パブリックアカウント「QtLearningVision」にご注目ください

おすすめ

転載: blog.csdn.net/u013480226/article/details/122587259