opencv 手势识别杂乱知识点

来源:互联网 发布:大数据量化基金 编辑:程序博客网 时间:2024/06/04 18:34

1.

初始化矩阵:

Mat depthShow1(Size(640, 480), CV_8UC1, Scalar(255)); //大小640*480 单通道灰度图像,灰度大小为255

2.

设置ROI区域(图像中自己感兴趣的矩形区域):

Rect roi;

roi.x=50;

roi.y=50;

roi.width=100;

roi.height=100; //分别设置roi的坐标(左上角)和大小

3.

图像大小变换

假设depthRaw是16位的,而depthShow是8位的,想要共享数据就需要把大小进行变换,DEPTH_SCALE_FACTOR=255.0/ 4096.0

depthRaw.convertTo(depthShow, CV_8U, DEPTH_SCALE_FACTOR);

4.

设置矩阵中某一点的像素值

depthShow.at<uchar>(0,0) = 0;//设置depthShow矩阵的(0,0) 点的灰度值为0

5.

获取矩阵中某点的像素值
int get_pixel(Mat & img, Point pt)
{
int width = img.cols; //图片宽度
int height = img.rows;
uchar* ptr = (uchar*)img.data + pt.y * width; //获得灰度值数据指针
int intensity = ptr[pt.x];
return intensity;
}

如函数所示,对其中参数有要求,分别是矩阵和坐标点的格式。
1.

Rect roi1, roi2; 初始化矩阵():

Mat depthShow1(Size(640, 480), CV_8UC1, Scalar(255)); //大小640*480 单通道灰度图像,灰度大小为255

2.

设置ROI区域(图像中自己感兴趣的矩形区域):

Rect  roi; 

roi.x=50;

roi.y=50;

roi.width=100;

roi.height=100;   //分别设置roi的坐标(左上角)和大小

3.

图像大小变换

假设depthRaw是16位的,而depthShow是8位的,想要共享数据就需要把大小进行变换,DEPTH_SCALE_FACTOR=255.0/ 4096.0

depthRaw.convertTo(depthShow, CV_8U, DEPTH_SCALE_FACTOR);

4.

设置矩阵中某一点的像素值

depthShow.at<uchar>(0,0) = 0;//设置depthShow矩阵的(0,0) 点的灰度值为0

5.

获取矩阵中某点的像素值

int get_pixel(Mat & img, Point pt)             {    int width = img.cols; //图片宽度      int height = img.rows;     uchar* ptr = (uchar*)img.data + pt.y * width; //获得灰度值数据指针      int intensity = ptr[pt.x];    return intensity;}

如函数所示,对其中参数有要求,分别是矩阵和坐标点的格式。

0 0
原创粉丝点击