|
发表于 2019-5-13 16:59:55
|
显示全部楼层
本帖最后由 guoshan 于 2019-5-13 17:03 编辑
你首先要弄清楚Mat对象,数据结构。
提取部分区域可以使用循环给你个例子:
第一种方式c#中使指针访问像素
Mat temp = Cv2.Imread("图片地址");
unsafe {
for (int i = 0; i < temp.Rows; i++)
{
byte* ptr = (byte*)temp.Ptr(i);
for (int j = 0; j < temp.Cols; j++)
{ var vlues = ptr[j] ;
}
}
}
第二种方式不使用指针
for (int i = 0; i < temp.Rows; i++) {
for (int j = 0; j < temp.Cols; j++) {
//获取值
var values = temp.Get<int>(i,j);
//设置值
temp.Set<int>(i, j, values);
}
}
第三种方式可以使用at<>方法访问像素不举例了
|
|