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ì)您有幫助就好】元

