loading image from file using OpenCV and copying to npp::ImageNPP_8u_C1 image.

Is the following code snippet appropriate for loading an image from file using openCV and then putting it (its gray-scale) into npp::ImageNPP_8u_C1 type image?

void loadImageCV(std::string sFileName, npp::ImageNPP_8u_C1 oDeviceImg)
{
IplImage
img=cvLoadImage(sFileName.c_str()) ;
NppiSize oSize = {img->width,img->height} ;
IplImage
imgbw = cvCreateImage(cvGetSize(img),IPL_DEPTH_8U,1) ;
cvCvtColor(img, imgbw, CV_RGB2GRAY);
*oDeviceImg = new npp::ImageNPP_8u_C1 (oSize.width, oSize.height);
(*oDeviceImg)->copyFrom((Npp8u *)imgbw->imageData,imgbw->widthStep ) ;
cvReleaseImage(&img);
cvReleaseImage(&imgbw);
}

int main()
{

npp::ImageNPP_8u_C1 * oDeviceSrc ;
loadImageCV(“test.png”, &oDeviceSrc) ;

}