1 #include <highgui.h> 2 #include <cv.h> 3 #include <stdio.h> 4 5 #pragma comment (lib,"opencv_calib3d231d.lib") 6 #pragma comment (lib,"opencv_contrib231d.lib") 7 #pragma comment (lib,"opencv_core231d.lib") 8 #pragma comment (lib,"opencv_features2d231d.lib") 9 #pragma comment (lib,"opencv_flann231d.lib") 10 #pragma comment (lib,"opencv_gpu231d.lib") 11 #pragma comment (lib,"opencv_haartraining_engined.lib") 12 #pragma comment (lib,"opencv_highgui231d.lib") 13 #pragma comment (lib,"opencv_imgproc231d.lib") 14 #pragma comment (lib,"opencv_legacy231d.lib") 15 #pragma comment (lib,"opencv_ml231d.lib") 16 #pragma comment (lib,"opencv_objdetect231d.lib") 17 #pragma comment (lib,"opencv_ts231d.lib") 18 #pragma comment (lib,"opencv_video231d.lib") 19 20 /* 21 *《學習OpenCV》第三章第四題 22 * 完成時間:2:13 3/2 星期六 2013 23 */ 24 25 // 圖像寬高宏定義 26 #define IMG_WIDTH 400 27 #define IMG_HEIGHT 400 28 29 // 兩個頂點 30 CvPoint point1 = cvPoint( 80 , 20 ); 31 CvPoint point2 = cvPoint( 160 , 80 ); 32 33 // Help function 34 // 檢查當前點是否在要畫的長方形區域內 35 bool isThePointInRectangle( int x, int y) 36 { 37 if ( (x <= point2.x) && (y <= point2.y) 38 & (x >= point1.x) && (y >= point1.y)) 39 return true ; 40 else 41 return false ; 42 } 43 44 45 int main() 46 { 47 // 創建一個三通道RGB圖像 48 IplImage* image = cvCreateImage(cvSize(IMG_WIDTH, IMG_HEIGHT), 8 , 3 ); 49 50 // 將矩陣元素全部置零 51 cvZero(image); 52 uchar* p; 53 for ( int i = 0 ; i < image->height; i++ ) 54 { 55 for ( int j = 0 ; j < image->width; j++ ) 56 { 57 p = cvPtr2D(image, i, j, 0 ); 58 if (isThePointInRectangle(i, j) == true ) 59 { 60 *(++p) = 255 ; 61 } 62 } 63 } 64 cvNamedWindow( " img " , 1 ); 65 cvShowImage( " img " , image); 66 cvWaitKey( 0 ); 67 68 cvReleaseImage(& image); 69 cvDestroyWindow( " img " ); 70 71 return 0 ; 72 }
運行結果:
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
