练习使用感兴趣区域(ROI)。创建一个210*210的单通道图像并将其归0.在图像中使用ROI和cvSet()建立一个增长如金字塔状的数组。
参考博文:www.cnblogs.com/tingshuixuan2012/p/OpenCVExercises3_5.html
www.cnblogs.com/vitah/archive/2013/05/22/3092083.html
1 /*ch3_lx3_5.cpp 2 添加功能:利用cvPtr2D函数画矩形 3 本程序是learning opencv这本书的课后习题练习 4 欢迎提出问题一起讨论*/ 5 #include "cv.h" 6 #include "highgui.h" 7 8 int main(int argc, char** argv) 9 { 10 IplImage *img; 11 img = cvCreateImage(cvSize(210,210),IPL_DEPTH_8U,1); 12 cvZero(img); 13 14 int interset_x = 0; 15 int interset_y = 0; 16 int offset_x = img->width; 17 int offset_y = img->height; 18 int add = 0; 19 // bool condition = true; 20 21 while(add<200) 22 { 23 cvSetImageROI(img,cvRect(interset_x,interset_y,offset_x,offset_y)); 24 cvSet(img,cvScalar(255-add)); 25 cvResetImageROI(img); 26 interset_x +=10; 27 interset_y +=10; 28 offset_x -= 20; 29 offset_y -= 20; 30 add=add+20; 31 } 32 cvNamedWindow("jinzita",1); 33 cvShowImage("jinzita",img); 34 cvWaitKey(0); 35 cvDestroyWindow("jinzita"); 36 cvReleaseImage(&img); 37 return(0); 38 }
时间: 2024-10-08 10:00:12