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
}
运行结果:

