您的位置:首页 > 运维架构

OpenCV 3.3 习题解答

2013-09-05 20:34 211 查看
chap 3.3 习题解答

img : 8UC3 , cvPtr2D指定BGR中的某层,显示一个长方形。。

#include<opencv2/opencv.hpp>
#include<iostream>
void main()
{
// (20, 50)  (140,200)
IplImage* img=cvCreateImage(cvSize(200,300),8,3);
cvZero(img);
cvNamedWindow("img");
for(int y=50;y<200;y++) // y : height : cols
for(int x=20;x<140;x++) // x : width : rows
{
// 注意 y, x 顺序
*(cvPtr2D(img,y,x)+0)=255; // Blue 层
//*(cvPtr2D(img,y,x)+1)=255; // Green 层
//*(cvPtr2D(img,y,x)+2)=255; // Red 层
}
cvShowImage("img",img);
cvWaitKey(0);
}
运行结果: 显示起始点 cvPoint(20 ,50) 终止点cvPoint(140, 200) 蓝色区域。。

注意:

1, cvZero(img) 清零,否则结果可能是灰色的图片。

2, x,y 的 顺序,反了就会成为起点 (50, 20) 终点(200, 140)的区域。

2,设定3层时,结果是白色。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  opencv cvPtr2D