以下のエラーが消えません!

  • cv::MAT h_image 式にはポインタ型が必要です

os windows10
コンパイラ visual studio2017

よろしくお願い致します。
引用元:
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1292659747
http://kivantium.hateblo.jp/entry/20120822/p1
Kinect 実践プログラム 杉浦司

#include"stdafx.h"
#include <Windows.h>
#include <NuiApi.h>

#include <opencv2/opencv.hpp>
            while (1) {
                drawRgbImage(image);

            cv::Mat h_image;
            cv::flip(image, h_image, 1);

            // RGB画像をHSV画像に変換
            cv::Mat hsv, extracted;
            cv::cvtColor(h_image, hsv, CV_RGB2HSV); // カメラ画像がBGRの場合はCV_BGR2HSV
                                                    // 色が100<=H<=120, 80<=S<=255, 80<=V<=255の範囲の部分を抽出する
                                                    // 色の範囲は抽出したい物体の色に合わせて調整する
            cv::Scalar hsv_min = cv::Scalar(120, 80, 80);
            cv::Scalar hsv_max = cv::Scalar(130, 255, 255);
            cv::inRange(hsv, hsv_min, hsv_max, extracted);

            // ラベリング実行
            cv::Mat labelImg, stats, centroids;
            int nLabels = cv::connectedComponentsWithStats(extracted, labelImg, stats, centroids);

            //画像を表示する
            cv::imshow("kinect Sample", h_image);

            //白く塗りつぶし
            using namespace std;

            //入力ファイル、出力ファイル名
            const char* srcimgfname("g:\\testimg\\test.bmp");
            const char* rstimgfname("g:\\testimg\\result.bmp");

            IplImage *srcimg = cvLoadImage(srcimgfname, CV_LOAD_IMAGE_COLOR);
            //入力画像をコピーし、白く塗りつぶす
            IplImage *rstimg = cvCloneImage(srcimg);

                cvRectangle(srcimg, cvPoint(0, 0),
                    cvPoint(h_image->width, srcimg->height),
                    CV_RGB(0xff, 0xff, 0xff), CV_FILLED);

                //画像データへのポインタ
                unsigned char *srcpt = (unsigned char *)srcimg->imageData; //入力画像
                unsigned char *rstpt = (unsigned char *)rstimg->imageData; //出力画像

                for (int y = 0; y < srcimg->height; ++y) {
                    for (int x = 0; x < srcimg->width; ++x) {
                        if ((srcpt[0] == 0x00) && //B
                            (srcpt[1] == 0x00) && //G 
                            (srcpt[2] == 0xff)) { //R
                                                  //半径3の赤い円を描き、座標値を出力
                            cvCircle(rstimg, cvPoint(x, y), 3, CV_RGB(0xff, 0, 0));
                            printf("(%d,%d)=\n", x, y);
                        }
                //ポインタを次の画素へ進める
                        srcpt += srcimg->nChannels;
                        rstpt += rstimg->nChannels;
                    }
                }



                cvSaveImage(rstimgfname, rstimg);

                return 0;
            }

                    }
    }