1.给每一个像素点赋值
M.create(4,4, CV_8UC3);
for(int i=0;i<M.rows;i++)
{
for (int j=0;j<M.cols;j++)
{
//三个值颜色一样则为灰度图
M.at<Vec3b>(i,j)[0]=255;
M.at<Vec3b>(i,j)[1]=255;
M.at<Vec3b>(i,j)[2]=255;
}
}
cout << "M = "<< endl << " " << M << endl << endl;
2.代码时间测试
double t = (double)getTickCount(); // 使用getTickCount()和getTickFrequency
//自己的代码段
t = (double)getTickCount() - t;
printf("in %gms\n", t*1000/getTickFrequency());
t = (double)getTickCount() - t; printf("in %gms\n", t*1000/getTickFrequency());
3.代码测试时间
#include <time.h>
int main()
{
clock_t start, end;
start = clock();
//此处为待及时的程序
end = clock();
cout << "Run time: " << (double)(end - start) / CLOCKS_PER_SEC << "S" << endl;
cvWaitKey(0); //等待退出
}
4.IplImage转Mat
IplImage* srcImg = cvLoadImage("1.jpg"); 浅拷贝,只是创建图像头,而没有复制数据 以下三种浅拷贝功能等效 Mat M(srcImg); Mat M(srcImg, false); Mat M = srcImg; 当将参数copyData设为true后,则为深拷贝(复制整个图像数据) Mat M(srcImg, true);
5、Mat转IplImage
- IplImage img(image); //(1)