OpenCV生成标定图

本文由 @lonelyrains 出品,转载请注明出处。 
文章链接: http://blog.csdn.net/lonelyrains/article/details/46874723



    网上查了一下工业视觉标定板,少则几百大洋,多则几千大洋,就想在A4纸上山寨打印一个标定图,就是黑白方格相间的那种。A4纸的标准大小为210*297mm。搞了个把小时,其实想明白了之后很简单。从每个像素的角度考虑,考虑其最终落入哪个小方块,如果落入小方块的行列之和为奇数,则设置为白色。 可以作为简单的上机面试题呀。首先准备一张跟A4纸比例相同的纯黑图片,3A4.bmp,可以用电脑自带的画图生成。然后该设置为白的地方设置为白就行了。代码如下



    
    
  1. #include <opencv\cv.h>
  2. #include <opencv\highgui.h>
  3. #include <iostream>
  4. using namespace cv;
  5. using namespace std;
  6. int main()
  7. {
  8. Mat frame = imread( “3A4.bmp”); // cols*rows = 630*891
  9. int nc = frame.channels();
  10. int nWidthOfROI = 90;
  11. for ( int j= 0;j<frame.rows;j++)
  12. {
  13. uchar* data= frame.ptr<uchar>(j);
  14. for( int i= 0;i<frame.cols*nc;i+=nc)
  15. {
  16. if( (i/nc/nWidthOfROI + j/nWidthOfROI) % 2)
  17. {
  18. // bgr
  19. data[i/nc*nc + 0] = 255 ;
  20. data[i/nc*nc + 1] = 255 ;
  21. data[i/nc*nc + 2] = 255 ;
  22. }
  23. }
  24. }
  25. imshow( “test”,frame);
  26. waitKey( 0);
  27. return 0;
  28. }


生成的图形如下



            </div>

本文由 @lonelyrains 出品,转载请注明出处。 
文章链接: http://blog.csdn.net/lonelyrains/article/details/46874723



    网上查了一下工业视觉标定板,少则几百大洋,多则几千大洋,就想在A4纸上山寨打印一个标定图,就是黑白方格相间的那种。A4纸的标准大小为210*297mm。搞了个把小时,其实想明白了之后很简单。从每个像素的角度考虑,考虑其最终落入哪个小方块,如果落入小方块的行列之和为奇数,则设置为白色。 可以作为简单的上机面试题呀。首先准备一张跟A4纸比例相同的纯黑图片,3A4.bmp,可以用电脑自带的画图生成。然后该设置为白的地方设置为白就行了。代码如下



  
  
  1. #include <opencv\cv.h>
  2. #include <opencv\highgui.h>
  3. #include <iostream>
  4. using namespace cv;
  5. using namespace std;
  6. int main()
  7. {
  8. Mat frame = imread( “3A4.bmp”); // cols*rows = 630*891
  9. int nc = frame.channels();
  10. int nWidthOfROI = 90;
  11. for ( int j= 0;j<frame.rows;j++)
  12. {
  13. uchar* data= frame.ptr<uchar>(j);
  14. for( int i= 0;i<frame.cols*nc;i+=nc)
  15. {
  16. if( (i/nc/nWidthOfROI + j/nWidthOfROI) % 2)
  17. {
  18. // bgr
  19. data[i/nc*nc + 0] = 255 ;
  20. data[i/nc*nc + 1] = 255 ;
  21. data[i/nc*nc + 2] = 255 ;
  22. }
  23. }
  24. }
  25. imshow( “test”,frame);
  26. waitKey( 0);
  27. return 0;
  28. }


生成的图形如下



            </div>

猜你喜欢

转载自blog.csdn.net/monk1992/article/details/82655737