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 *《學(xué)習(xí)OpenCV》第三章第三題 22 * 完成時(shí)間:1:34 3/2 星期六 2013 23 */ 24 25 #define ROWS 400 // 矩陣行數(shù) 26 #define COLS 400 // 矩陣列數(shù) 27 28 // 定義綠色長方形的兩個(gè)頂點(diǎn) 29 CvPoint point1 = cvPoint( 80 , 20 ); 30 CvPoint point2 = cvPoint( 160 , 80 ); 31 32 // Help function 33 // 檢查當(dāng)前點(diǎn)是否在要畫的長方形區(qū)域內(nèi) 34 bool isThePointInRectangle( int x, int y) 35 { 36 if ( (x <= point2.x) && (y <= point2.y) 37 & (x >= point1.x) && (y >= point1.y)) 38 return true ; 39 else 40 return false ; 41 } 42 43 int main() 44 { 45 // 三通道的二維字節(jié)類型矩陣 46 CvMat* mat = cvCreateMat(ROWS, COLS, CV_8UC3); 47 48 // 將所有數(shù)值初始化為零 49 cvZero(mat); 50 // 獲得矩陣元素(0,0)的指針 51 uchar *p = (uchar*)cvPtr2D(mat, 0 , 0 ); 52 // 為矩陣賦值,畫長方形 53 for ( int i = 0 ; i < mat->cols; i++ ) 54 { 55 for ( int j = 0 ; j < mat->rows; j++ ) 56 { 57 p = (uchar* )cvPtr2D(mat, i, j); 58 // 使其指向中間的通道 59 p++ ; 60 if (isThePointInRectangle(i, j) == true ) 61 { 62 *p = 255 ; 63 } 64 p++ ; 65 } 66 } 67 68 cvShowImage( " img " , mat); 69 cvWaitKey( 0 ); 70 71 cvReleaseMat(& mat); 72 cvDestroyAllWindows(); 73 74 return 0 ; 75 }
運(yùn)行結(jié)果:
?
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

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