opencv 常用代码段

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

	
   
   
  1.   IplImage img(image);  //(1)  


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值