分享

mat和IplImage*转换

 mscdj 2014-09-26
int _tmain(int argc, _TCHAR* argv[])
{
//VideoCapture vc("input.avi");
//VideoWriter vw;
//vw.open( ".//output.avi", // 输出视频文件名
// (int)vc.get( CV_CAP_PROP_FOURCC ), // 也可设为CV_FOURCC_PROMPT,在运行时选取
// (double)vc.get( CV_CAP_PROP_FPS ), // 视频帧率
// cv::Size( (int)vc.get( CV_CAP_PROP_FRAME_WIDTH ), (int)vc.get( CV_CAP_PROP_FRAME_HEIGHT ) ), // 视频大小
// true ); // 是否输出彩色视频
//Mat frame;
//if (!vc.isOpened())
//{
// cout<<"can not find file"<<endl;
// return -1;
//}
////////////////////////
//vc>>frame;
//int fnum=1;
//Mat gray,edge,dst;
//while (!frame.empty())
//{
// cvtColor(frame, gray, CV_BGR2GRAY);
// imshow("win1",gray);
// threshold(gray,edge,70,255,1);
// imshow("win2",edge);
// //vector<vector<Point>> contours;
// //vector<Vec4i>hierarchy;
// //int idx=0;
// //findContours(edge,contours,hierarchy, CV_RETR_CCOMP, CV_CHAIN_APPROX_SIMPLE);
// //for ( ; idx >= 0; idx = hierarchy[idx][0])
// //{ 
// // Scalar color( (rand()&255), (rand()&255), (rand()&255) );
// // drawContours( dst, contours, idx, color, 1, 8, hierarchy );
// //}
// if (waitKey(1)>0)
// {
// break;
// }
// //vw<<frame;
// fnum++;
// vc>>frame;
//}
///////////////////////////////////////
//int num=20; //均值力度;
//Mat src = imread("Airplane.jpg",1);
////Mat src1u[3];
////split(src,src1u);

////int width=src.cols;
////int heigh=src.rows;
////Mat img;
////src.copyTo(img);
////Point center(width/2,heigh/2);


////for (int y=0; y<heigh; y++)
////{

//// uchar *imgP  = img.ptr<uchar>(y);

//// for (int x=0; x<width; x++)
//// {
//// int R = norm(Point(x,y)-center);
//// double angle = atan2((double)(y-center.y),(double)(x-center.x));

//// int tmp0=0,tmp1=0,tmp2=0;

//// for (int i=0;i<num;i++) //均值力度;
//// {

//// angle+=0.01;        //0.01控制变化频率,步长

//// int newX = R*cos(angle) + center.x;
//// int newY = R*sin(angle) + center.y;

//// if(newX<0)newX=0;
//// if(newX>width-1)newX=width-1;
//// if(newY<0)newY=0;
//// if(newY>heigh-1)newY=heigh-1;

//// tmp0 += src1u[0].at<uchar>(newY,newX);
//// tmp1 += src1u[1].at<uchar>(newY,newX);
//// tmp2 += src1u[2].at<uchar>(newY,newX);

//// }
//// imgP[3*x]=(uchar)(tmp0/num);
//// imgP[3*x+1]=(uchar)(tmp1/num);
//// imgP[3*x+2]=(uchar)(tmp2/num);
//// }

////}
//imshow("径向模糊",img);
//waitKey();
//imwrite("D:/径向模糊(旋转).jpg",img);
/////////////////////////////////////////////
Mat src = imread("Airplane.jpg",1);
imshow("win1",src);
IplImage * img;
img= &src.operator IplImage();
//Mat gray;
//cvtColor(src,gray,1,0);
//imshow("win3",src);
cvNamedWindow("win2",1);
cvShowImage("win2",img);
Mat gray(img,0);
imshow("win4",gray);
waitKey();
return 0;
}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多